Events, just for fun
Try leaving capture up to whomever uses `A`
This doesn't need to run asynchronously.
This kind of error handling isn't essential to the example