Problema de Arquitetura no Domínio

Caros amigos, este problema tem causado muita discurssão entre os desenvolvedores de um projeto, temos o seguinte problema:

O sistema tem uma entidade chamada Usuario (na minha opnião o nome não seria usuário, seria cliente), onde esse usuario é responsável por fazer configurações, temos outra entidade chamada Lojista, onde o lojista é responsável por anúncios demonstrado no diagrama Primeiro Design.

public class Usuario{
   private int id;
   private String cpf;
   private String senha;
   private Lojista lojista;
   private Set<Configuracao> configuracoes;
}
public class Lojista{
   private int id;
   private Set<Anuncio> anuncios;
}

Sugeri um refactoring para o Segundo Design: o sistema tendo uma entidade chamada Pessoa onde possui dois relacionamentos, uma entidade Lojista que possui relacionamento com Anuncio e com uma classe chamada Cliente, onde o cliente tem relacionamento com Configuração.

public class Pessoa{
   private int id;
   private String cpf;
   private String senha;
   private Lojista lojista;
   private Cliente cliente;
}
public class Lojista{
   private int id;
   private Set<Anuncio> anuncios;
}
public class Cliente{
   private int id;
   private Set<Configuracao> configuracoes;
}

Gostaria de saber a opnião sobre a forma mais flexível, mesmo que não seja nenhum dos dois.

Obrigado!