Disable UnDo/ReDo for individual Properties or Property Groups?

We have a fairly complex script that has external side effects outside of Blender’s Property System. These external side effects are triggered by Operators and Property update callbacks.

Blender’s Undo/Redo system can make Blender’s internal properties inconsistent with these external side effects. Is there any way to either:

  1. Disable Undo/Redo on specific Blender Properties or Property Groups?
  2. Trap the Undo and Redo so we can perform the undo/redo operations on our external data?

The Global Undo option in User Preferences / Editing works for this, but it disables undo/redo throughout Blender. We’d just like to disable it for the properties and groups associated with the external side effects.

Thanks in advance for an answer … either way.