sketched out systemProfile class and eeprom format.
reworked walkRoot to callback on enter and exit when traversing the hierarchy.
DataOut write methods return bool success so we can detect when stream is full (e.g. eeprom)