Alter an object's behavior when its state changes

State Desing Pattern