Metadata is stored in a format that makes the object model and JSON output hard to read. General metadata should just be a map with string values rather than current name='x' value='y' syntax. Also, measurements should be a map with double values. Site map data should be moved into its own stanza and use the same metadata interfaces described above. The end result will be a much simpler API and more readable JSON.