Factory Method and Prototype examples