Switch to use promises where possible

Oh i did not actually mean to take those out.