Backend-ify all the things so we have a way to swap out async