fix(dialog): make dialog onShow return the promise
fix(dialog): fix potential race-conditions w/ multiple dialogs shown at once