add ObserveError, ObserveHasError, ObserveHasNoError