The goal is to make everything async down the stack at some point. This change is just one step in that direction, as doing the whole thing is a fair bit more work/risk.