Update AppDialog to be able to handle invalid forms, and implement the settings dialog that communicates via appState