Dúvida sobre criação de objeto para exibição de dados e Fluxo de negócios

Fala feras :smiley:

Tenho uma aplicação que tinha uma funcionaliddade de criar um arquivo excel e envia-lo por email. Fazia esse processo na camada Service e funcionava numa boa. O cliente pediu para que antes de enviar o email, fosse exibido na tela, as informações do email.

Minha dúvida é a seguinte: existem diversos tipos de arquivos que são separados por periodicidade. É aconselhável usar um único arquivo por periodicidade e criar todos os gets e sets dentro dele ( independente do tipo de arquivo utilizar todos os atributos ou nao ) ou devo criar um arquivo para item daquela determinada periodicidade?

Como posso chamar esse arquivo? Bean, TO?

Outra coisa: antes dessa mudança, a aplicação se comportava:

MVC -> Delegate -> Service -> Serviço de Email

Nesse fluxo, era retornado uma boolean sinalizando se foi ok ou não e tinha um único método publico que recebia o id que seria usado. Agora com a mudança, pensei em fazer o seguinte:

MVC -> Delegate -> Service -> DAO ( Nesse momento, seria retornado um objeto com os valores que serão setados no arquivo )

Ai se o usuário decidir clicar para enviar por email ou download, eu iria usar o mesmo arquivo criado acima e fazer:

MVC -> Delegate -> Service -> Serviço de Email ( Retorno de uma boolean indicando se foi ok )

Isso é uma boa prática ou isso soa como uma gambiarra toda engessada? ehehe