As mentioned, calculation of eigenvalues is something we were already moving towards with the 'DependentVariable' construct.
Interestingly, however, I think this touches on something that we hadn't yet fully grasped, or at least haven't expressed in the specs yet. In basic terms:
* A simulation (right now) changes the model state, according to a set of rules.
* A datagenerator (up until now) has two modes: in the first mode, it collects data *as the model state is being changed*, and in the second mode, it collects data *based on the current model state*.
As evidenced by the move to allowing calculating the jacobian, eigenvalues, etc. by using a DependentVariable, these all fall into the second 'mode' of a DataGenerator: a computation that is performed on a model state that does not change that state. (Also, as noted, my initial assumption was that these analyses would *always* be 'current model state' analyses, and never 'as you change the model state' analyses. Hrm hrm hrm. Anyway.)
At any rate, it makes sense to allow people to perform 'mode two' calculations on 'pristine' models that have not yet been manipulated by any simulation. It should be possible to calculate the Jacobian on the initial state of a model, for example. This could be easily accomplished in our current setup by making the 'taskReference' on a Variable optional: