Since dictionaries are naturally unordered, we probably should make "fields" an OrderedDict here so the expected order is guaranteed.