Adapter and Composite Design Patterns