Melhorando a lógica do método fábrica