atualiza o layout programaticamente no observador do evento magento

Eu estou tentando mudar o template (view.phtml) de um bloco (product.info) para a página de detalhes do produto, para fazer isso, estou observando um evento (controller_action_layout_generate_blocks_before), depois de fazer as verificações necessárias, estou tentando alterar o modelo do bloco (product.info) da seguinte maneira:

$layout = $observer->getEvent()->getLayout();
$layout->getUpdate()->addUpdate('
        <reference name="product.info">
            <action method="setTemplate">
                <template>customlayout/product/view.phtml</template>
            </action>                                                          
        </reference>');
$layout->getUpdate()->load();
$layout->generateXml();

Se eu colocar"<remove name='product.info'/>" , ele será removido, mas ao tentar fazer o acima, não está funcionando.
Editar:
O requisito é mudar o modelo (detalhes do produto) dinamicamente para o modelo selecionado (no CustomModule) em relação ao produto atual.

questionAnswers(5)

yourAnswerToTheQuestion