@override bool clean() { dirty = false; rows.forEach((index, row) => row.dirty = false); return true; }