Make drain() coroutine