j2me mvc

Olá!

Estou fazendo um sistema, e estou com uma dúvida em relação a qual melhor maneira de controlar os eventos da app.

Sempre tive costume de que cada tela(Form) controlasse os eventos que ela sofresse(ou seja, a tela implements CommandListener e no seu contrutor coloco: this.setCommandListener(this)).
Estou pensado em fazem uma app no modelo MVC(ou quase isso), portando quero que somente uma classe especifica tome contas dos eventos e das decisões do meu sistema.

Assim, coloquei meu Midlet(poderia ser qualquer outra classe) para tomar conta dos eventos das telas(ou seja, o midlet implements CommandListener e no seu contrutor da tela: this.setCommandListener(midlet), sendo que midlet foi passado como parametro).

O código ficou mais ou menos assim:
MIDLET:

public class MidpPrincipal extends MIDlet implements CommandListener{

	protected void startApp() throws MIDletStateChangeException {
		Display.getDisplay(this).setCurrent(new Tela1(this));
	}

	protected void pauseApp() {
	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
	}

	public void commandAction(Command arg0, Displayable arg1) {
		if(arg1 instanceof Tela1){
			Tela1 tela1 = (Tela1) arg1;
			Command comandoTela1 = tela1.getIrTela2();
			if(arg0 == comandoTela1){
				Display.getDisplay(this).setCurrent(new Tela2(this));
			}
		}else if(arg1 instanceof Tela2){
			Tela2 tela2 = (Tela2)arg1;
			Command comandoTela1 = tela2.getIrTela1();
			if(arg0 == comandoTela1){
				Display.getDisplay(this).setCurrent(new Tela1(this));
			}
		}
	}
}

TELA(uma delas):

public class Tela1 extends Form {
	private Command irTela2 = new Command("Tela2",1,1);
	
	
	public Tela1(MidpPrincipal midletPrincipal) {
		super("Tela1");
		this.addCommand(irTela2);
		this.setCommandListener(midletPrincipal);
	}
	
	public Command getIrTela2() {
		return irTela2;
	}
}

A pergunta é:
Qual a melhor maneira de implementação, em relação a desempenho e tal?
Digam suas opnioões!

[color=blue] Na programação de MIDLET’s a recomendação é de evitar a OO, por causa da redundância de processamento, maior alocação dos objetos em memória, etc.
Existe no forum.nokia.com um documento sobre melhoria de desempenho na programação de MIDLET’s. Vale a pena dar uma olhada…

[]'s
[/color]