Algumas separações : criação da factory membro, classe que gera o hash