Actually implementing the composite pattern for our new tree