Refactor settings logic to instance methods

Placing the validation and logic in instance methods (rather than always
updating the current user) allows admins to modify user settings.