Updated FactoryMethod.