""" Lets an object alter its behavior when its internal state changes. It appears as if the object changed its class. """