Added FactoryMethod pattern.