Refactor all data contracts to support read-only interfaces.