Versión inicial FactoryMethod