Update async example

The async example is hard to understand due to some unnecessary indirection. This PR updates the example to make it more clear.

Fixes #69 and #75.