I believe they are asynchronous.
My guess is that they seem to be implemented using custom DOM events .
This is a useful javascript decoupling method, and you can check jQuery trigger docs, find the string 'custom' to see how to fire a custom event.
Pablo fernandez
source share