Refactoring Factory method using product classes as instance variables
Implementation of Abstract Factory Method