Decorator Pattern commit