`Undo.IsProcessing` is functioning as intended here. The system that generates change events occurs after the undo system has finished processing and so `Undo.IsProcessing` is returning the correct result in this case. Change events are generated by watching a given field, when a change is detected; an event is actioned. Change events do not contain any information about whether the origin is from undo.