added listener's level check in ObservableElement