Что в нейдолжен быть минимум логики, и все экраны на фрагментах.
Я знаю из своего опыта, что вьюха, дергающая методы презентера, дергающего методы вьюхи - это ад адовый, в этой лапше потом фиг разберешься.
Имхо, всё это жуткий отстой.
View должно иметь методы только по показу данных. navigateToHome к ним не относится, это должен быть отдельный объект Router, которого нет в MVP.
View не должно иметь ссылку на Presenter и дергать из него какие-то методы.
private final TasksRepository mTasksRepository; //класс
private final TasksContract.View mTasksView; //интерфейс
class TasksRepository {}
TasksRepository mTasksRepository;
BooksRepositoryImpl mBooksRepositoryImpl;
или можно Impl опустить и назвать так BooksRepositoryImpl mBooksRepository;
? Есть вполне естественное желание пропустить все это и писать под Flutter.