Initial version of Composite Pattern