Rework charge metadata

This way anyone can add anything they want whenever they want but still
not override stuff that we set and require.