Add Decorator pattern and Composite pattern