Sempre baseie seus retornos de chamada expostos

Sempre aterre os callbacks que sua API está expondo. Se o consumidor lançar uma exceção, ela irá borbulhar em sua pilha, impedindo a execução futura.

// ground callback exceptions
try{callback(true);}catch(ex){}

// ... or this part will never be reached
defer
.resolve(true);