Decorator Pattern
Decorator Pattern a