         let demo1 = Demo(title: "new Bezier(...)",
                          controlPoints: controlPoints,
                          quadraticDrawFunction: { (context: CGContext, demo: Demo) in },
-                         cubicDrawFunction: { (context: CGContext, demo: Demo) in
-            let curve = CubicBezier( p0: self.draggables[0].bkLocation,
-                                     p1: self.draggables[1].bkLocation,
-                                     p2: self.draggables[2].bkLocation,
-                                     p3: self.draggables[3].bkLocation
-            )
+                         cubicDrawFunction: {[unowned self] (context: CGContext, demo: Demo) in
+            let curve = self.draggableCubicCurve()
             Draw.drawSkeleton(context, curve: curve)
             Draw.drawCurve(context, curve: curve)
         })

        let demo6 = Demo(title: ".derivative(t)",
                         controlPoints: controlPoints,
                         quadraticDrawFunction: { (context: CGContext, demo: Demo) in },
                         cubicDrawFunction: { (context: CGContext, demo: Demo) in
                            let curve = CubicBezier( p0: self.draggables[0].bkLocation,
                                                     p1: self.draggables[1].bkLocation,
                                                     p2: self.draggables[2].bkLocation,
                                                     p3: self.draggables[3].bkLocation
                            )
                            Draw.drawSkeleton(context, curve: curve)
                            Draw.drawCurve(context, curve: curve)
                            Draw.setColor(context, color: Draw.red)

        let demo7 = Demo(title: ".normal(t)",
                         controlPoints: controlPoints,
                         quadraticDrawFunction: { (context: CGContext, demo: Demo) in },
                         cubicDrawFunction: {[unowned self] (context: CGContext, demo: Demo) in
                            let curve = self.draggableCubicCurve()
                            Draw.drawSkeleton(context, curve: curve)
                            Draw.drawCurve(context, curve: curve)
