title: In Android MVP, should a presenter return a value?
body: <p>I try to learn MVP, I have some question to ask, should a presenter return a value?</p>
  
  <p>something like this:</p>
  
  <pre><code>class MainPresenter : BasePresenter&lt;MainContract.View&gt;(), MainContract.Actions {
      override fun getProducts (id: Int): List&lt;Product&gt; {
          //...
          return products
      }
  }
  
  interface MainContract {
      interface Actions {
          fun getProducts(id: Int): List&lt;Product&gt;
      }
  }
  </code></pre>
  
  <p>or like this:</p>
  
  <pre><code>class MainPresenter : BasePresenter&lt;MainContract.View&gt;(), MainContract.Actions {
      override fun getProducts (id: Int) {
          //...
          mvpView?.showProducts(products)
      }
  }
  
  interface MainContract {
      interface Actions {
          fun getProducts(id: Int)
      }
  
      interface View{
          fun showProducts(products: List&lt;Product&gt;)
      }
  }
  </code></pre>