Convert a bunch of callbacks to promises