"The WPF answer is a feature known as dependency properties, which provides a structured way for WPF classes to respond to changes that result from data bindings, styles, inheritance, and other sources..." . . . .