Is this meant to be a true factory class?  If so, usually static methods are used, and sometimes caching is used if possible when a duplicate object is request of the factory.  I'm just double checking to confirm this is how you want the factory, if so, then you can ignore this comment.