calling initialize() automatically if an upstream attribute important to the node has changed;
calling reset() if:
a) one of the important attributes of this node has changed;
b) the input node has there_has_been_a_change set to True.
When 2.b) happens, input node's there_has_been_a_change is set to False. This is a mistake if the input node has multiple descendants. Only the one that is updated first will see the message.
What needs to be done:
2.a) and 2.b) should result in two different kinds of resets;
Each of the descendant nodes should receive the message.
Right now there are two kinds of reset:
When 2.b) happens, input node's there_has_been_a_change is set to False. This is a mistake if the input node has multiple descendants. Only the one that is updated first will see the message.
What needs to be done: