Pattern Abstract Factory
Pattern - Prototype