Basic state machine without handler