Decorator Pattern example with UML diagram