I don't understand the comment.  It always sets the password when creating a user.  The "try" is for retrieving the FacilityUser and adding it to the list.  If the user doesn't exist, then it is created (with a password, exactly as in the old code), and appended to the list.

I also don't understand what situation is going to slow down the Pi, and why?