changing GenericStaticMethod to GenericMethod making it work with both static and instance methods
moving instance methods of TypeWithFactoryMethod to another class