Build presentation-ready server row models in the ViewModel and publish each group's raw data and row data as one atomic state. This removes storage and description work from composition, reduces the server-row API, and keeps reordering consistent across both representations.