Frames dinamicos JSF 2.0 - ICEFACES 2.0

Buenas tardes a todos.
Soy un estudiante peruano de sistemas.
Este es mi primer post :) !!

Tengo una duda.

Imaginen el clasico layout de una app web :

Yo lo he venido manejando con el componente panelBorder de Icefaces asi :

            <ice:panelBorder id="page"
                             style="width:100%; height:80%;"
                             renderNorth="false"
                             renderSouth="false"
                             renderCenter="true"
                             renderWest="true"
                             renderEast="false">
                <f:facet name="west">
                    <ui:insert name="Menu">
                        <ui:include src="#{controler.faceletMenu}" />
                    </ui:insert>
                </f:facet>
                <f:facet name="center">
                    <ui:insert name="Contenido">
                        <ui:include src="#{controler.faceletContenido}"/>
                    </ui:insert>
                </f:facet>
            </ice:panelBorder>

El requerimiento es que cuando se presione en el boton 1 llame a un distinto xhtml y lo ponga en el "Contenido" y cuando presione otro boton llame a otro xhtml y lo ponga en "el contenido".

Yo lo he estado manejando de la siguiente forma:

@ManagedBean
@SessionScoped
public class Controler implements Serializable {

    public void irPagina1(ActionEvent actionEvent) {
        contenido=pagina1;     
    }

    public void irPagina2(ActionEvent actionEvent) {
                contenido=pagina2;     
    }

        /*Setters y Getters*/
       
    private String menu="menu.xhtml";
        private String contenido="contenido_inicial.xhtml";    
        private String pagina1="pagina1.xhtml";
        private String pagina2="pagina2.xhtml";
}

En el menu.xhtml tenemos 02 comandButton, cada uno de los cuales llama a los metodos :

<ice:commandButton actionListener="#{controler.irPagina1}" value="Pagina1"/>
<br/>
<ice:commandButton actionListener="#{controler.irPagina2}" value="Pagina2"/>

Y si me ha funcionado.

Mis preguntas son :

1.- Esto es una solución eficiente??
2.- No es una solución??
3.- Hay otra solución??
4.- He escuchado de las reglas de navegacion en JSF. Es aplicacble en este caso??
Pero por los ejemplos, son para refrescar toda la pagina y no por frames.

Muchas gracias de antemano.

Saludos,
Richard Leon Ingaruca.
Estudiante de Ingenieria Informatica.
Lima-Peru