For ADDED, we broadcast directly after receiving the pod info and successfully processing it for the first time from the API server, so this should always be the first thing broadcast for a given pod.
For DELETED, we broadcast after it has been processed in updateStatusInternal with podIsFinished, so this should always be the last thing broadcast for a given pod.
For MODIFIED, we broadcast once when we receive a new spec from the API server, and once when we finish processing in the status manager. This way the watchers can see the flow from when a spec is received to when it has reconciled. To avoid status flapping on slow status updates with many spec updates, we always overlay the latest status from the status manager on every broadcast. This hybrid state is fine because the ObservedGeneration will indicate how far desynced the spec has become from the status, so watchers can act accordingly.