P.S.
Prendi gli esempi che ti pongo come semplici PoC (Proof of Concept), ossia come stralci di codice che hanno la finalità di mostrarti gli strumenti che puoi utilizzare per implementare una certa soluzione; ad esempio, il codice dell'ultimo messaggio risolve direttamente la tua esigenza, ma non può essere considerato in sé del "buon codice".
Intendo dire che, una volta appreso il concetto e capito come funziona JavaScript o la tecnica specifica in questione, il codice lo devi rivedere e personalizzare per fare sì che possa funzionare per il tuo caso ma implementando la soluzione in modo pulito e ordinato, ad esempio senza variabili globali, rivedendo la memorizzazione dei valori dei callback, ecc. in modo che rimanga comunque "gestibile".
Non so cosa stai cercando di fare nel tuo progetto in termini di ampia visione, quindi magari (anzi sicuramente) c'è un modo migliore e/o alternativo di fare le cose, sfruttando le caratteristiche del linguaggio mostrate negli esempi.
In sintesi, non limitarti a fare solamente copia/incolla.
Ciao!