All attributes and conditions now follow the observer/observable
pattern, allowing for changes to propogate to downstream dependants.