javascriptで自分を書き換えるメソッドを定義します。
このメソッドを代入してから、代入後の変数名で呼び出しても再定義が動作しません。
回避策はありますか?

// 自分を書き換える関数
var funcA = function(){
    console.log("A");
    funcA = function(){
        console.log("B!");
    }
};

// 代入
var funcB = funcA;

// グローバルのfuncAは再定義されるが、funcBは古いポインタを指している。
funcB();  // Aが表示される
funcB();  // またAが表示される