First lab deliverable for CSPP51050 - OO Design Patterns: Composite, Visitor, and Iterator patterns