       # make this a local node property (it may eventually be different per node)
       node.capNodeValues = @capNodeValues
       node.newIntegration = @newIntegration
-      @addIntegrateMethodTo node
+      # Create a bound method on this node.
+      # Put the functionality here rather than in the class "Node".
+      # Keep all the logic for integration here in one file for clarity.
+      node.getCurrentValue = IntegrationFunction.bind(node)
 
   initializeValues: (node) ->
     node.currentValue = null

IntegrationFunction = (t) ->

  # if we've already calculated a currentValue for ourselves this step, return it
  if @currentValue


    step = =>
      _.each @nodes, (node) => @nextStep node  # toggles previous / current val.
      _.each @nodes, (node) => @evaluateNode node
      time++
      @generateFrame(time)

