Decorator Design Pattern