adding the push value while observed, replay while observed, and push while observed methods