I'm not sure I'm seeing what the advantages to parallelization are in this case. There are only 3 potentially slow operations being done here - checking the DB to see whether the new email is already in use, updating the new email in the `usersByEmail` table, and updating the new `userData` in the `users` table - where each operation is dependent on the preceding one. The only thing we'd really be able to parallelize here is the updating of the username and email, but that would (in my opinion) increase code complexity for almost no performance benefit, since updating the username is essentially instantaneous as of right now (so long as we update the `users` table in one pass for both the email and username). 

If we introduce additional fields to update or potentially slow validation of the username, then I would agree, but right now I'm not seeing it. Please do correct me if I'm wrong or missing anything, though!