Added Decorator Pattern.