pass UI methods that have no direct corresponding implementation to dialog api
if a dialog is cancelled, yield an error result instead of no result