Update usage of new Dialogs API

Fix for #4081 

* done() does not chain
* command handlers should return a promise (update ShellAPI to check for a valid promise)