Rearranged so that asynchronicity is explicit but not required, reduced context boilerplate
That should be there