row tracks key and data columns and knows how to write stacked