Suggestion: when you're building a user database, assign each user a 16-digit hexadecimal number as a unique identifier, disallow that internal identifier from changing, and let everything else change.
Want to change your username? Great. Want to change your email? Fine. The unique hex ID is all that matters.
16 hex digits is enough collision space to give every person on earth about 2.5 /million/ accounts on your system, but short enough that you can write it down on a post-it note.
@noelle This is related to the tripartite user model idea. Are you familiar with this? I learned it just recently and it sort of blew my mind. If you're not familiar, I'll hunt up a link to the thing I read.
@benhamill Unless you're talking about anxiety and depression, I'm not familiar, no. :)
@noelle The thing that relates is that not only should you be able to change those things you mentioned, but no reason not to have multiple.
@benhamill Having read: yes, exactly. That's an excellent way of putting it.