Wrap a promise constructor to create and return the same promise everytime