An enemy is ALWAYS in exactly one state — and switches on events.
guard_state := enum{Idle, Patrol, Chase}
enemy_ai := class(creative_device):
OnBegin<override>()<suspends>:void =
Current : guard_state = guard_state.Patrol
case (Current):
guard_state.Idle => Print("standing still")
guard_state.Patrol => Print("walking route")
guard_state.Chase => Print("chasing player!")
Takeaway — One state at a time + events to switch = a state machine.