protect onObservableChange from broken event