Add async support.
Fix handling somewhat when the invoker isn't async-capable.