The Composite Pattern