interface Presenter extends BasePresenter<View> {
void load();
void loadMore();
void queryChanged(String query);
void repositoryClick(Repository repo);
}
Я бы не называл так методы презентера.
У методов презентера должны быть имена onЧтоТоСлучилосьУView(). И уже потом презентер решает что делать с этим - load, query и т.д.
А имена методов в стиле эйПрезентерСделайВотЭто() добавляет View знаний о внутренней логике презентера. И есть риск добавления логики во View: типа if что-то сделай то-то. А эта логика должна быть исключительно в презентере. Плюс это уже получается не MVP, а смещение в сторону MVVM