¿Cómo usar jQuery diferido con eventos personalizados?

Tengo dos procesos abstractos (por ejemplo, administrados dentro de objetos js que usan el patrón de módulo revelador que no expone sus componentes internos) que activan eventos personalizados cuando se completen. Quiero realizar una acción cuando ambos eventos personalizados se hayan disparado.

El nuevoDiferid logic en jQuery 1.5 parece que sería una forma ideal de administrar esto, excepto que el método when () toma objetos diferidos que devuelven una promesa () (u objetos js normales, pero luego cuando () se completa inmediatamente en lugar de esperar, que es inútil para mí).

Idealmente me gustaría hacer algo como:

//execute when both customevent1 and customevent2 have been fired
$.when('customevent1 customevent2').done(function(){
  //do something
});

Cuál sería la mejor manera de casar estas dos técnicas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta