fixed componentsinfo, styling, etc.
only Observables can call updateObserver() to prevent malicious usage of the pattern