Factory, Prototype pattern examples