JavaScript is not the most predictable language. Let's reveal some of its quirkiness.
How and why asynchronicity works given the single-threaded nature of the language. How do event handlers correlate with all that and who decides when and what gets executed?