Splitting User Creation/Update into Separate Functions