Самый простой способ - это метод, основанный на событиях. У каждого узла есть событие «onloaded», и все, что использует этот узел, может подписаться на это событие. После того, как узел обновился, он вызывает это событие и сообщает обо всем, что нужно знать.
Если ваши зависимости более сложны, то вам может понадобиться что-то еще, управляющее обновлениями, чтобы оптимизировать вещи. например, если A воздействует на B и C и C также на B (например, B = A + C и C = A + 1), тогда простой метод может обновить a, затем b, затем C и B снова. Это работает, но, очевидно, на одно обновление больше, чем требуется. Точный способ оптимизации обновлений будет зависеть от того, насколько сложным является ваше дерево зависимостей.