Why aren't we updating the Order.PaymentStatus property every time there is a change? Then all we need to do is raise the event from there (being careful not to raise it before the object is properly hydrated, e.g. set that value last when constructing).
If I'm wrong and that property is always set then indeed the setter would be the perfect place to do it.
The point, though, is that *I* don't want to be raising events anywhere. I shouldn't have to touch the Nop code. The EventContext is there to provide simple API access to key events and the point of the thread is to encourage Andrei to add a suitable event :)