Another work-in-progress commit.

Setting the password works again; all that's really left to do is wire up the
service polling code to the user interface, and clean up the navigation/flow so
that all of the buttons do what you'd expect.