Perhaps this should return the promise? If a client mistakenly called this twice it may still be expecting the promise to come back.