The Composite Design Pattern