Refactor user settings management