Refactor the coroutine API to allows multiple runtime
Activity