# State ## Purpose Encapsulate varying behavior for the same routine based on an object's state. This can be a cleaner way for an object to change its behavior at runtime without resorting to large monolithic conditional statements. ## UML Diagram ![Alt State UML Diagram](uml/uml.png)