Decorator Pattern Complete