     node.previousValue = node.currentValue
     node.currentValue = null
 
-  evaluateNode: (node) ->
-    node.currentValue = node.getCurrentValue()
+  evaluateNode: (node, firstTime) ->
+    node.currentValue = node.getCurrentValue(firstTime)
 
   # create an object representation of the current timeStep and add
   # it to the current bundle of frames.

      # push values down chain
      for i in [0...10]
        _.each @nodes, (node) => @nextStep node  # toggles previous / current val.
        _.each @nodes, (node) => @evaluateNode node

      # accumulate values for later averaging
      for i in [0...20]

IntegrationFunction = (incrementAccumulators) ->

  # if we've already calculated a currentValue for ourselves this step, return it
  if @currentValue
    return @currentValue
  if @isAccumulator and not incrementAccumulators
    return @previousValue

  links = @inLinks()
  count = links.length
