 // MARK: - Layout
 
 private extension GameBoardView {
-    func calculatePlatformBorderRect() -> CGRect {
+    var platformBorderRect: CGRect {
         let
         width  = frame.width,
         height = frame.height,

        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),

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