Composite
Compose objects into tree structures to let clients treat individual
objects and compositions of objects uniformly