dofactory composite pattern

4 5 6 7