Example of Builder, Abstract Factory, Visitor and Prototype in iterative steps