Behavioral Design Patterns

State Machines