Please change this back to `ret.promise()` this ensures that invoking code cannot resolve the promise.