Decorator design pattern added.