Makes changes easier to extend in a different package.
Adds a password dialog, and feedback for a single string listener