work on Observables - untying Input from Output types (InterpretingObservable.java)