Bug 1020406 - Refactor login to expose multiple models if needed

This should be inside the save callback; for example, this would show the user created successfully even if the database was down. It also wouldn't record the userId