Disparar um evento personalizado com javascript (ou jquery) quando minha função terminar

Em vez de aninhar retornos de chamada no JS, gostaria de disparar e ouvir meus próprios eventos personalizados. Eu não preciso nem quero acessar o DOM. Aqui está um exemplo:

function doSomething(){
//...
$.trigger('finished-doSomething'); //fire the event 'finished-doSomething'
}

//when the event 'finished-doSomething' is fired -> execute the function in the second  param 
$.live('finished-doSomething', function(){
   alert("I finished-doSomething");
});

Seria possível fazer isso com código javascript normal ou com uma biblioteca como jQuery? Se não, qual é uma boa abordagem para evitar retornos de chamada aninhados?

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion