         if !dataSet
             return
 
-        pie = d3.layout.pie().value((d) -> d.value).sort(null)
-        arc = d3.svg.arc().innerRadius(radiusi).outerRadius(radiuso)
-        svg = d3.select(@node).append('svg').attr('width', width).attr('height', height).append('g').attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')')
+        pie = @pie#d3.layout.pie().value((d) -> d.value).sort(null)
+        arc = @arc#d3.svg.arc().innerRadius(radiusi).outerRadius(radiuso)
+        svg = @svg#d3.select(@node).append('svg').attr('width', width).attr('height', height).append('g').attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')')
         #console.log 'update pie', dataSet
 
         piedata = pie(dataSet)

        #

        # Width of the SVG area
        width = (Dashing.widget_base_dimensions[0] * container.data('sizex')) - Dashing.widget_margins[0] * 4 * (container.data('sizex') - 1) 

        # Height of the SVG area allowing for header and footer text
        height = (Dashing.widget_base_dimensions[1] * container.data('sizey')) - 120 

        # Calculated min dimension of the SVG area
        radius = Math.min(width, height) / 2

        # Outer radius of the pie
        radiuso = Math.min(width, height) / 3

        # Inner radius of the pie (zero = pie, non-zero = donut)
        radiusi = radiuso * 2 / 3

        # Color scale for pie slices
        color = d3.scale.category20()

        # X-offset for drop shadow filter
        dropshadowx = 2

        # Y-offset for drop shadow filter
        dropshadowy = 2

        # [STRING] Blur value for drop shadow filter
        dropshadowblur = '1.2'

        #
        # END CONFIG ZONE

    @accessor 'data'

    #@oldPieData: ''
    #
    # CONFIG ZONE
    #

    # Width of the SVG area
    @width = (Dashing.widget_base_dimensions[0] * container.data('sizex')) - Dashing.widget_margins[0] * 4 * (container.data('sizex') - 1) 

    # Height of the SVG area allowing for header and footer text
    @height = (Dashing.widget_base_dimensions[1] * container.data('sizey')) - 120 

    # Calculated min dimension of the SVG area
    @radius = Math.min(width, height) / 2

    # Outer radius of the pie
    @radiuso = Math.min(width, height) / 3

    # Inner radius of the pie (zero = pie, non-zero = donut)
    @radiusi = radiuso * 2 / 3

    # Color scale for pie slices
    @color = d3.scale.category20()

    # X-offset for drop shadow filter
    @dropshadowx = 2

    # Y-offset for drop shadow filter
    @dropshadowy = 2

    # [STRING] Blur value for drop shadow filter
    @dropshadowblur = '1.2'

    #
    # END CONFIG ZONE
    #

    @pie = d3.layout.pie().value((d) -> d.value).sort(null)
    @arc = d3.svg.arc().innerRadius(radiusi).outerRadius(radiuso)
    @svg = d3.select(@node).append('svg').attr('width', width).attr('height', height).append('g').attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')')

    onData: (data) ->
        #$(@node).fadeOut().fadeIn()
