Closes #362 - Make API data objects immutable

yes! it did.  otherwise, we get a NPE