allow return of a promise from the on open callback