Always return a Promise from public api methods