I think if understood djf right that the metadata attribute has nothing to do with whatever we read from the EXIF data. It is merely a container to hold information relative for the media apps. At the moment, these two just happen to be identical because we don't read any other EXIF fields. But EXIF data is not supposed to be stored in the MediaDB ("metadata" always gets stored). Hence we will never have metadata = { camerModelName: ..., focalLength: ... } and I don't we want metadata.exif.

However, I see your point, that the jpegMetadataParser does not return a collection of of all the fields it parsed but rather a data structure with already interpreted / only required attributes. 
Maybe @davidflanagan can shed some light on this.