The original baseline MetaData object has been revamped with a few extra fields, most notably a separate "performer_name" to allow for cases when the original artist and performer differ.
I've also made all MetaData subclasses symmetrical. This means that re-encoding an MP3 to another MP3 will result in the new file having the exact same tags as the old. (That's never a good idea, of course, but it cleans up the code considerably).
I'm now in the process of testing tagged audio with various players to ensure new metadata shows up correctly.