Clean up some of the callback hell