Decorator pattern implementation - structural pattern.