Make async calls work. Somewhat.

I hope no one will use a magnifying glass to see the details of the semantics
of async calls in this implementation because the small (but potentially
important) details are probably not exactly what one would expect.