         return (startPoint, endPoint)
     }
     
-    func cellRectsWithPositions(positions: [GameBoard.Position], inRect rect: CGRect) -> [CGRect] {
+    func cellRectsWithPositions(positions: [GameBoard.Position], inPlatformRect platformRect: CGRect) -> [CGRect] {
         return positions.map {
-            cellRectAtRow($0.row, column: $0.column, inRect: rect)
-        }
-    }
-    
-    func cellRectAtRow(row: Int, column: Int, inRect rect: CGRect) -> CGRect {
-        let
-        totalLength = rect.width,
+            cellRectAtRow($0.row, column: $0.column, inPlatformRect: platformRect)
+        }
+    }
+    
+    func cellRectAtRow(row: Int, column: Int, inPlatformRect platformRect: CGRect) -> CGRect {
+        let
+        totalLength = platformRect.width,
         cellLength  = totalLength / CGFloat(cellsPerAxis),
-        leftEdge    = rect.minX + CGFloat(column) * cellLength,
-        topEdge     = rect.minY + CGFloat(row) * cellLength,
+        leftEdge    = platformRect.minX + CGFloat(column) * cellLength,
+        topEdge     = platformRect.minY + CGFloat(row) * cellLength,
         naturalRect = CGRect(x: leftEdge, y: topEdge, width: cellLength, height: cellLength),
         cellRect    = naturalRect.insetUniformlyBy(Thickness.gridLine)
         return cellRect

        context.fillRect(rect, color: Color.platformFill)
    }
    
    func drawGridLinesInRects(gridLineRects: [CGRect]) {
        gridLineRects.forEach {
            context.fillRect($0, color: Color.gridLine)
        }
    }
    
    func drawMarksInRect(rect: CGRect) {
        guard let gameBoard = gameBoard else { return }
        for row in 0..<gameBoard.dimension {
            let marksInRow = gameBoard.marksInRow(row)
            for column in 0..<gameBoard.dimension {
                if let mark = marksInRow[column] {
                    let cellRect = cellRectAtRow(row, column: column, inRect: rect)
                    drawMark(mark, inRect: cellRect)
                }
            }

        drawPlatformBorderInRect(borderRect)
        drawPlatformInRect(platformRect)
        drawGridLinesInRects(gridLineRects)
        drawMarksInPlatformRect(platformRect)
        
        if let winningPositions = winningPositions {
            let (startPoint, endPoint) = pointsForWinningLineThroughPositions(winningPositions, inPlatformRect: platformRect)
            drawWinningLineFrom(startPoint, to: endPoint)
        }
    }
