New RowIds feature and select column storage across data refresh

Could we do this in one loop, rather than two?

Maybe build the entire object inside the map so we don't have to iterate all selected rows for each id?

I suppose it does end up being about the same amount of looping either way, though.