como declarar uma variável estática / classe em um widget de fábrica de widgets jquery ui

Em relação à fábrica de widgets jquery ui ...

Qual é a melhor maneira de ter uma variável estática / variável de nível de classe compartilhada entre todas as instância

por exemplo

$.widget("ui.staticTest", {
    staticVar:'unchanged',
    test: function(a){
        if(a){
            this.staticVar= a;
        }
        alert(JSON.stringify(this.staticVar));
    }
});

$('#test').staticTest();
$('#parent').staticTest();

$('#test').staticTest('test','changed');
$('#parent').staticTest('test');

acima, se staticVar for static, $ ('# parent'). staticTest ('test'); alertaria 'alterado', mas em vez disso, alerta 'inalterado'.

(este código está no jsfiddle se você quiser jogar:http: //jsfiddle.net/alzclarke/Sx8pJ)

As soluções que consigo pensar são feias:

1) $ ('body'). Data ('sharedVariable', myData) - isso não parece uma boa prática, e se alguém ou alguma coisa limpa o corpo dos dados 2) armazena-o no namespace do protótipo, por exemplo = $ .ui.staticTest.prototype.staticVar = myData; isso também toca campainhas de alarme

questionAnswers(7)

yourAnswerToTheQuestion