MaterialsObserver and Undo

I have followed the sample code, and created a MaterialsObserver, and it works well. I can react to materials changes as needed when they occur.

However, if the user chooses to Undo a material change, the only notification I am getting is onTransactionUndo.

Is there something else I need to add to my code so that I know it is a material that has changed during the Undo action? And equally important, which material has changed.

There are open issues in the API tracker:

Basically, the only workaround is for your extension to cache data and state at a higher level. Then in the observer callback check your extension’s list of materials for missing materials or changed properties.