Async fixes

Fixes some issues with execution flow jumping back and forth between EM reactor and EM non reactor threads.

Should prevent issues like #37 in the future.