Added a bit more complex coroutine handling. And also introduced the CoroutineContext class, which will be used as base for async classes that is based on yielding.