Lets an object alter its behavior when its internal state changes. It appears as if the object changed its class.
A Phone. If 'Unlocked', pressing buttons calls numbers. If 'Locked', pressing buttons turns on the screen.
class State:\n def __init__(self):\n pass\n\n def execute(self):\n print('Executing State')