Advancer Pattern

See WhatIsAnAdvancer