refactoring: move password handling into the password preference