Basic structuring mechanism: Construct a new object using an existing object as a delegate.
Intuition: New object is exactly like old except for things that are overridden.
Mechanism: Any data references or function references go through original value, if not overridden they are passed on the original delegate..