FactoryMethodBase