[Complete] Decorator Pattern