The FMX framework comes with a piece of technology known as LiveBindings. It's expression-based and designed around the observer pattern. Expressions can involve different kinds of members, including data sources (object-oriented or dataset-oriented) and user interface (UI) elements (controls).
The LiveBindings engine holds expression definitions and gathers and dispatches events. It does this by, for example, collecting a member's value change notification and reevaluating every expression where the member is involved. This same technology is also available in VCL, and design-time support has been added to the IDE on purpose (we already looked at the LiveBindings Designer earlier in this book in Chapter 2, Exploring the Similarities and Differences of VCL, and Chapter 4, Discovering Lists and Advanced Components).
LiveBindings is quite a broad technology that's simple in theory but has some layering and peculiarities you must consider...