       @update d
       return
     )
-    nodeEnter.append('svg:circle').attr('r', 4)
-                                  .style('stroke', (d) ->
-                                    if d.deleted then "#ec5747")
-                                  .style('fill', (d) ->
-                                    if d._children then "lightsteelblue" else "#fff")
-
+    @paintNode(nodeEnter.append('svg:circle'))
 
     nodeEnter.append('svg:text').attr('dy', -10).attr('text-anchor', 'middle').text((d) ->
       d.title

    @drawLinks()
    @drawWithoutParent()

  update: (source) ->
    self = this
    duration = if d3.event and d3.event.altKey then 5000 else 500

    nodeUpdate = node.transition().duration(duration).attr('transform', (d) =>
      'translate(' + d.x + ',' + (@height - (d.y)) + ')'
    )
    @paintNode(nodeUpdate.select('circle'))

    nodeUpdate.select('text').style('fill-opacity', 1)

