@ursus I would definitely put as close to the view as possible (as in: in the view). Perhaps via an abstraction similar to RxUi (
https://github.com/artem-zinnatullin/RxUi) - It makes unit testing of the viewmodel a lot easier as well, since the stream becomes synchronous (wrt. the last observeOn anyway)