After giving lots of training and talks over the past two years, this is my most recent take on how to explain Async.
This talk is called "Async Part 1". I've also given a sequel, Async Part 2, that goes into more advanced uses of async.
I want to call out thanks to Greg Paperin, who came up with the slide ideas for "generations of programming languages" and "message-loop animation".