       .flatMap { $0 } // Flattened RowRuns for a Region.
   }
 
-  private func regionFor(rect: CGRect) -> Region {
+  private func region(for rect: CGRect) -> Region {
     let cellWidth = self.cellSize.width
     let cellHeight = self.cellSize.height
 

        // Get all Regions that intersects with the given rects.
        // There can be overlaps between the Regions, but for the time being we ignore them;
        // probably not necessary to optimize them away.
        let region = self.regionFor(rect: rect)
        return (region.rowRange, region.columnRange)
      }
      // All RowRuns for all Regions grouped by their row range.

    )

    return Region(top: rowStart, bottom: rowEnd, left: columnStart, right: columnEnd)
  }

  private func pointInView(forRow row: Int, column: Int) -> CGPoint {
