If no one objects, I'd like to commit this soon. I think its a clear improvement on what is there now, so I'd like to get it in. I think we can talk about how the normalization occurs in another issue.
Doing things differently has its own back compat issues, and it would be nice if this configurability wasn't caught up in it. Another option we have is to leave the normalization as it is, but just change getName so that it returns the default name rather than "".