general refactoring of observables