Support for optional async

For #1:

Passing `{async: true}` option prevents the current thread from waiting
for a response to appear on the callback channel.
probably good to add a fake `200 OK` response if async, or something