Makes for a strong case to make this async. Mixing sync and async code just seems dirty