Committing before doing a design refactoring (different branch).
Will simplify infrastructure and FSM to be lesser amount of steps.