Behind the new UI system is the introduction of a new UnityEvent logic that is intended to standardize and delegate managed interactions between GameObjects in a scene; primarily, it focuses the input interactions with the new UI but it doesn't have to stop there.
At the core of the new UI system there is a new type of delegate manager called the UnityEvent. This manager allows you to create, add, and remove multiple delegate functions to it and execute them all at once.
The UnityEvent is an extension of the base delegate pattern that is found in most programming languages, obviously now tuned to work better from within Unity's own engine and language interpreter.
For more detail about delegates, see: