Currently, Attribute and Base have the idea of observable properties, through AttributeObservable and BaseObservable. The next step from this is the idea of computable properties, where one Attribute may be dependent on the value of one or more other Attributes.
There's an example of how this is currently done in YUI with our current system in Attribute Getters, Setters, and Validators, which gets unwieldy when a large number of Attributes become dependent on each other.
- The simple case of re-evaluating a synchronous computed attribute when one of the attributes it depends on changes. (Example:
fullName
should change when eitherfirstName
orlastName
changes)