modify the closure that is generated by triggering an output trigger, this now polls the evaluator scope for the current state of variables and stores them in a dictionary, this may not work with complex class variables and instead may need to implement a deep copy utility for all exposed types, for now seems to work with simple types.

This intermediate dictionary keeps track of all output variables values at the moment when the trigger is executed so that downstream nodes triggered from that point later by the scheduler have access to the correct values.  The model is set to this intermediate value at this time, this is almost like being able to set the node to an intermediate point in it's evaluation.

It's unclear how this will work with nodes that generate geometry or other objects into the unity scene scope, have to look into this....