Further refactoring to simplify the user_controller flow.