separate servant builder
guider state machine