We should not store a UI name separate from the field name. The field name doesn't need to be the same as the actual code name for the field, so the string literal passed into AddField should be the UI name, and there is only one name for a field. To handle cases where we want to rename a field to be more descriptive, we should add an aliasing system just like with types in the registry so that field queried with a legacy name still resolve.
We should not store a UI name separate from the field name. The field name doesn't need to be the same as the actual code name for the field, so the string literal passed into AddField should be the UI name, and there is only one name for a field. To handle cases where we want to rename a field to be more descriptive, we should add an aliasing system just like with types in the registry so that field queried with a legacy name still resolve.