Pattern Decorator