Forçando a ordem de script do método registerScript no Yii

Eu criei um widget que registra seu próprio script como abaixo

class MyWidget extends CWidget {
    public function run(){
        Yii::app()->clientScript->registerScript(__CLASS__, <<<JAVASCRIPT
var a = "Hello World!";
JAVASCRIPT
        , CClientScript::POS_END);
    }
}

E no layout, eu chamo o widget assim

<?php $this->widget('MyWidget');?>
<?php echo $content;?>

Mas em um arquivo de visão, preciso da variável declarada por esse widget.

<?php 
Yii::app()->clientScript->registerScript('script', <<<JAVASCRIPT
    alert(a);
JAVASCRIPT
    , CClientScript::POS_END);
?>

Note que no método registerScript eu uso POS_END como a posição do script, já que eu pretendo colocar todos os scripts (incluindo o CoreScript, por exemplo, jQuery, jQueryUI etc) após o<body> tag.

O problema é que o script renderizado mostrará aquele do arquivo de visão e depois daquele do widget.

alert(a);
var a = "Hello World!";

Como podemos ver, o código acima não funcionará, então eu preciso colocar a segunda linha acima da primeira linha.

Alguma idéia de como forçar o pedido? Eu estou bem em estender oCClientScript (e criar um novoregisterScript método) desde que todos os scripts sejam renderizados na posição final e eu não precise puxar os códigos Javascript acima para um novo pacote ou arquivo.

questionAnswers(5)

yourAnswerToTheQuestion