In all UI examples we’ve seen so far, objects and interface communicate directly using callbacks. This works great for simple tools. If you are a designer building small tools for yourself, there’s a good chance that you’ll never need to go beyond that.

This section and the next are for developers interested in building more complex UIs and applications using the observer pattern. RoboFont itself is built using events and observers, and you can take advantage of that when building your own custom tools.

The Observer pattern adds a layer of abstraction between objects and interface, resulting in cleaner, more flexible code.