Android MVP с RxAndroid + Retrofit

Недавно я начал много читать о MVP, и я хочу с этим заниматься своими проектами.

Однако я не могу правильно понять, где должен быть код Rx + Retrofit? Я думаю, что это должно быть в слое модели через Interactors, но все же может кто-то рассказать об этом немного?

Также что происходит с обратным вызовом RX? OnNext (), onCompleted () и onFailure () передают данные обратно в Presenter или мы реализуем прослушиватели, а затем передаем их Presenter?

Я также хочу сохранить данные (Realm / StorIO), когда я получу его в onNext (), поэтому снова передаем его другому DataLayer или куда он должен идти?

Также следует ли нам разложить обратные вызовы Rx?

Я следую за этим сообщением https://davidguerrerodiaz.wordpress.com/2015/10/13/a-brief-introduction-to-a-cleaner-android-architecture-the-mvp-pattern/

И это отдельное рефери github от antonioleiva.com https://github.com/antoniolg/androidmvp

Как вы указали, функциональность RxJava определяет прецедент вашего модельного слоя, поэтому он будет размещен в интеракторе этого слоя. Вы можете создать другой интерактор для каждого варианта использования. Предположим, вы вытаскиваете список пользователей с вашего сервера, это будет прецедентом и интерактором, который будет иметь RxJava / Retrofit Observable.

Тогда у вас будет презентатор с наблюдателем в нем, который заинтересован в этом списке пользователей, поэтому он будет подписан на этот Observable.

И, наконец, когда этот Observer in имеет все данные Observable (onCompleted), он преобразует эти данные (при необходимости) и перейдет к представлению, которое будет отвечать за его отображение.

Существует потрясающее сообщение, объясняющее mvp. Rx – просто дополнительный инструмент для этого.

http://hannesdorfmann.com/android/mosby-playbook/

Есть пример глубокого объяснения и исходного кода.