   updateScene: _.throttle ->
 
     @cleanup @realCanvas
-    @drawConnectionLine connection for connection in @connections
-    @drawConnectionLine connection for connection in @fakeConnections
-  , 300
-
-  drawConnectionLine:({source, target, options})->
-
-    return unless source or target
-
-    options    or= {}
-    activeColor  = @getOption 'lineColorActive'
-    lineDashes   = @getOption 'lineDashes'
-    lineColor    = @getOption 'lineColor'
+
+
+
+  drawConnectionLine: ({ source, target, options = {} }) ->
+
+    return  unless source or target
+
+    { lineColorActive, lineDashes, transfers = []
+      lineColor, lineWidth, curveDistance } = @getOptions()
 
     @realContext.beginPath()
 

    @realContext.bezierCurveTo(sJoint.x + sx, sJoint.y + sy, \
                               tJoint.x + tx, tJoint.y + ty, \
                               tJoint.x, tJoint.y)

    @realContext.lineWidth = @getOption 'lineWidth'
    @realContext.stroke()

  addFakeConnection:(connection)->
    @drawConnectionLine connection
    @fakeConnections.push connection


    @realContext.strokeStyle = lineColor
    @realContext.setLineDash lineDashes  if lineDashes.length > 0

    @realContext.moveTo s.x, s.y

    cd = curveDistance
    [ sx, sy, tx, ty ] = [ 0, 0, 0, 0 ]
    if source.joint in ["top", "bottom"]
      sy = if source.joint is "top" then -cd else cd
    else if source.joint in ["left", "right"]
