debounce do lodash não funciona em função anônima

Olá Não consigo descobrir por que a função debounce funciona como esperado quando passada diretamente para um evento de keyup; mas não funcionará se eu o envolver dentro de uma função anônima.

Eu tenho um violino do problema:http://jsfiddle.net/6hg95/1/

EDIT: Adicionado todas as coisas que eu tentei.

HTML

<input id='anonFunction'/>
<input id='noReturnAnonFunction'/>
<input id='exeDebouncedFunc'/>
<input id='function'/>
<div id='output'></div>

JAVASCRIPT

$(document).ready(function(){
    $('#anonFunction').on('keyup', function () {
        return _.debounce(debounceIt, 500, false); //Why does this differ from #function
    });
    $('#noReturnAnonFunction').on('keyup', function () {
        _.debounce(debounceIt, 500, false); //Not being executed
    });
    $('#exeDebouncedFunc').on('keyup', function () {
        _.debounce(debounceIt, 500, false)(); //Executing the debounced function results in wrong behaviour
    });
    $('#function').on('keyup', _.debounce(debounceIt, 500, false)); //This is working.
});

function debounceIt(){
    $('#output').append('debounced');
}

anonFunction enoReturnAnonFunction não dispara a função debounce; mas o ultimofunction dispara. Eu não entendo por que isso é. Alguém pode me ajudar a entender isso?

EDITAR Ok, o motivo pelo qual a rejeição não ocorre em #exeDebounceFunc (a que você se refere) é porque a função é executada no escopo da função anônima e outro evento de keyup criará uma nova função em outro escopo anônimo; assim, disparando a função rejeitada tantas vezes quanto você digita alguma coisa (em vez de disparar uma vez que seria o comportamento esperado; consulte o beviour de#func,tion)?

Você pode, por favor, explicar a diferença entre#anonFunction e a#function. É novamente uma questão de definir por que um deles funciona e o outro não?

EDITAR Ok, agora entendo por que isso está acontecendo. E aqui está o porquê eu precisava envolvê-lo em uma função anônima:

Violino:http://jsfiddle.net/6hg95/5/

HTML

<input id='anonFunction'/>
<div id='output'></div>

JAVASCRIPT

(function(){
    var debounce = _.debounce(fireServerEvent, 500, false);

    $('#anonFunction').on('keyup', function () {
        //clear textfield
        $('#output').append('clearNotifications<br/>');
        debounce();
    });

    function fireServerEvent(){
        $('#output').append('serverEvent<br/>');
    }
})();

questionAnswers(5)

yourAnswerToTheQuestion