[Observation] Tracking adjustments for stability and correctness (#67233)
* [Observation] Correct tracking such that recursive but disperate changes can be tracked without crashing
* [Observation] Adjust the SPI interface for tracking to support deferred cancellation of events and handle both willSet and didSet events