Ensure correct Async type is used for callbacks

This addresses issue #141 where `get_current_async` returns a base `Async` from within a callback even if a subclass was used.

@beaulyddon-wf @rosshendrickson-wf @markshaule-wf