Olá. Desculpe a demora na resposta. Sim, pode ser usado o observer, mas isso também pode ser resolvido apenas com a emissão de eventos de dominio pelos seus objetos. É uma solução mais simples, desacopla os objetos envolvidos e ainda mantém a semantica do domínio. Imagino que seu cadastro de cliente aconteça dentro de um objeto de serviço. Esse objeto pode emitir eventos como CadastroEfetuado, CadastroCancelado, CadastroRemovido, CadastroAtualizado dependendo da ação executada. O payload desse evento pode ser o cliente e a data/hora que o evento ocorreu.