Implement Adapter Pattern
Implement Composite Pattern
Implement Decorator Pattern