Refatorando Factories e criando Repositories