Moved most of the user-related logic into form models