Qual a melhor solução para montagem de telas e execução de serviços dinamicamente?

Pessoal,

Estou com o seguinte problema: Tenho uma tela que dependendo da ação que o usuário selecionar pode exibir N parâmetros de entrada, esses parâmetros seriam passados para EJB?s específicos (que podem variar dependendo dos parâmetros) para salvar em base esses dados, em uma tabela para cada serviço (EJB).

Para solucionar esse problema usei a seguinte abordagem:

  1. Defini como contrato dos EJBs um método execute(Map<String,String> params) , dessa forma cada um recebe N <parâmetros, valor> e só trabalha com os que lhe interessam.
  2. Para saber qual EJB eu chamo, eu busco pelo ID do serviço a ser executado o JNDI daquele EJB e mando executa-lo.
  3. Para exibir a tela pensei em mapear em um .properties para cada parâmetro um componente em Flex, dessa forma na hora de exibir a tela eu insiro os componentes a serem exibidos em uma tela template central.

Minha dúvida é: Essa é a melhor abordagem para o problema? Ou vocês conseguem enxergar algo que posso melhorar aí?