Composite Pattern Implementation