         let firstTwo = [Point](points[0...1])
         super.init(firstTwo)
 
-        let path = Path()
-        path.moveToPoint(points[0])
-        for i in 1..<points.count {
-            path.addLineToPoint(points[i])
-        }
-
-        adjustToFitPath()
+        updatePath()
     }
 
     /// Initializes a new Line using the specified tuple of points.

    /// Assigning a tuple of Point values to this object will cause the receiver to update itself.
    ///
    /// - returns: A tuple (2) of Points that make up the the begin and end points of the line.
    public var endPoints: (Point, Point) = (Point(), Point(100, 0)) {
        didSet {
            updatePath()
        }
    }


    ///
    /// - parameter points: A tuple of Point structs.
    public init(_ points: (Point, Point)) {
        super.init([points.0, points.1])
    }

