System Overview - State pattern
The State pattern helps a system change its behavior when its internal state changes. It allows an object to appear to change its class by switching between different state objects. This is useful for managing complex state-dependent logic in a clean and scalable way.
