Decorator Pattern (orig)