Decorator pattern - Wikipedia