     var handles:[Handle] = []
     var guides:[Handle] = []
 
-    init() {
-        self.curve = BezierCurve(start:CGPoint(x:100,y:100), control1:CGPoint(x:150,y:150), end:CGPoint(x:200,y:100))
+    init(_ curve:BezierCurve) {
+        self.curve = curve
         self.handles = self.curve.points.map {
             (p:CGPoint) -> Handle in
             return Handle(position:p)
-            }    
+        }
         self._update()
     }
     

        let points = self.handles.map() {
            (h:Handle) -> CGPoint in
            return h.position
            }
        self.curve = BezierCurve(points:points)

        // Make a cubic and turn its points into guides...

        NSColor.blackColor().set()

        let context = NSGraphicsContext.currentContext()!.CGContext
        for curve in self.curves {
            curve.draw(context)
        }
    }
    
    override func mouseDown(theEvent: NSEvent) {
        let location = self.convertPoint(theEvent.locationInWindow, fromView:nil)
        if let (curve, index) = handleHit(location) {
            activeCurve = curve
            activeHandle = index
            self.needsDisplay = true
        }
