Years ago, I wrote a few IOTADebuggerVisualizers. Looking at my code repository, this was in 2011. Back then, I've written a NSImage visualizer which allows one to visualize the cursor selected on the Mac OS X when debugging OS X applications through the IDE.
As it's been a while since I've debugged any IOTADebuggerVisualizers, I'm refreshing my skills by blogging this.
In order to debug an IOTADebuggerVisualizer, you'll need to run 2 copies of the Delphi/RAD Studio IDE.
Debugging IOTADebuggerVisualizer
In 2017, with the release of Delphi 10.2 Tokyo, Embarcadero introduced a specialized implementation of the Observer pattern into the System.Classes unit. While it has been in the wild for 9 years, it remains a "hidden" architecture for many, primarily because it serves as the invisible engine behind LiveBindings. Other than live bindings, you can also use the Observer pattern as a way to update component settings to the Windows registry, an .ini file, or persist it elsewhere.
System.Classes