Apply Decorator Pattern