Base on skynet, write a coroutine wrapper