detect usage of interaction variables, register the components that use them as observers for this interaction variable, notify them on change, clean up state on removal of the interaction variable