Presenters get re-run when dependencies change, but the state of the current implementation is more along the lines of "Oh my God, it actually works!" than it is "Yes, it works, and it works correctly".
Specifically, we want to ensure that the following things happen only when they actually need to:
TrackedResources marked as changed.
TrackedLocals marked as changed.
View.update() gets called when a data dependency changed.
View.update() gets called when a presenter props change.
View.assemble() gets called if the display graph needs to be updated.
View.assemble() gets called on the parent presenter state if the presenter output changed.
View.with() callbacks called.
View.once() callbacks called (should only called once per entity).
Presenters get re-run when dependencies change, but the state of the current implementation is more along the lines of "Oh my God, it actually works!" than it is "Yes, it works, and it works correctly".
Specifically, we want to ensure that the following things happen only when they actually need to: