Closes #362 - Make API data objects immutable

in the case where the Bytes object is immutable, it would be nice to store this after computing.  This way it does not need to constantly recompute for case when Bytes are used in hashset.