Dynamic state machine + Controller