state machine inside playlist factory