title: Implementing Retrofit2 service interface
body: <p>Imagine the following scenario.</p>
  
  <p>I am using Retrofit as my API client and I am going to use a caching mechanism to persist some responses locally in let's say SQLite database, so some of the data is obtained only once. It seems like a perfect case to create a custom implementation for the following interface which is going to fetch the data from local database when network is not available.</p>
  
  <pre><code>public interface CommentsService {  
      @GET("posts/{postId}/comments")
      Call&lt;List&lt;Comment&gt;&gt; getCommentsOfPost(@Path("postId") int id);
  }
  </code></pre>
  
  <p>The problem is that all service methods in retrofit2 should be wrapped in a <code>Call</code> object, since it prevents passing the callback as a parameter like in previous versions of retrofit. </p>
  
  <p>I would like to know if it is a good practice to create a custom implementation of this interface, if yes then how to treat with the Call object ?</p>