Implement notifyPendingTransactionOfStateChanged through state machine.

We are not creating new callbacks but instead are replaying with the existing callbacks
and relying on some extra context info to specify that underlying plugin operation should be skipped,
and final state should be read from context. This is fairly elegant, but also pollutes a little more the context.