É uma solução legal essa, gostei 
Mas ai surgem as dúvidas. Tenho um DAO, JavaBean e o ManagedBean ( JSF ). No caso, o usuário clica para salvar, ai chama meu método:
ProfissionalDAO dao = new ProfissionalDAO(ProfissionalBean.class);
logger.info("Cadastrar Profissional para Empresa de ID: " + getFuncionarioBean().getEmpresa().getId() + " | CPF do Funcionario Responsavel: " + getFuncionarioBean().getCPF());
dao.save(getProfissionalBean());
Isso seria dentro do ManagedBean, com o Observer, eu iria fazer o save() e depois chamar o notificaProfissionalModificado(profissional);, correto?
Primeira dúvida: esse notificaProfissionalModificado é um método, mas ele não deveria ter alguma espécia de Observer?
Segunda dúvida: pelo o que eu entendi, eu preciso implementar o Observable em alguma classe minha e teria que ser no ManagedBean pq é ele que tem o método que chama o salvar, to certo? Mas isso não seria legal pq vou ficar muito preso ao JSF. Pensei em criar uma terceira classe que implementasse o Observable, é uma prática melhor?
Essa interface, eu implemento ela juntamente com algumas das interfaces do Observer?
Obg
[]'s