CS590L Workshop II: Factory Method Design Pattern