     
     func pointsForWinningLineThroughPositions(positions: [GameBoard.Position], inRect rect: CGRect) -> (CGPoint, CGPoint) {
         let
-        winningRects = calculateCellRectsWithPositions(positions, inRect: rect),
+        winningRects = cellRectsWithPositions(positions, inRect: rect),
         startRect    = winningRects.first!,
         endRect      = winningRects.last!,
         orientation  = winningLineOrientationForStartRect(startRect, endRect: endRect),

        return (startPoint, endPoint)
    }
    
    func calculateCellRectsWithPositions(positions: [GameBoard.Position], inRect rect: CGRect) -> [CGRect] {
        return positions.map {
            calculateCellRectAtRow($0.row, column: $0.column, inRect: rect)
        }
    }
    
    func calculateCellRectAtRow(row: Int, column: Int, inRect rect: CGRect) -> CGRect {
        let
        totalLength = rect.width,
        cellLength  = totalLength / CGFloat(cellsPerAxis),

        guard gameBoard != nil else { return }
        
        let
        borderRect    = platformBorderRect,
        platformRect  = platformRectFromBorderRect(borderRect),
        gridLineRects = gridLineRectsFromPlatformRect(platformRect)
        
