O padrão de estado permite que um objeto mude seu comportamento quando seu estado interno mudar

State Pattern: It allows an object to change its behavior when its internal state changes. It appears as if the object changed its class.
Powerful Polecat