New plan for async HTTP -- use coroutines