Decorator pattern example