Design Patterns - Decorator Pattern
Following up on the Observer/Event Pattern, it’s time for the third pattern, the Decorator Pattern.
The definition: "Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality."
Read more at http://blog.cumps.be/design-patterns-decorator-pattern/