better encapsulation of observablevalue within subscriber