decouple scheduler, fix Awaitable move