Observer pattern examples
Decorater pattern examples