Changed so that the worker modules are asynchronous. Will enable us to handle slower operations later.

Only one thing is left in the core. And that's to change the stream handling to support async, which is required for chunked streaming.