Decorator pattern added.