Refactored as state machines