title: Difference between Observable.create() and Observable.fromCallable()
body: <p>Suppose we are getting a generic <code>Object</code> from <code>SharedPrefs</code> using <code>.create()</code>:</p>
  
  <pre><code>return Observable.create(subscriber -&gt; {
        String json = sharedPreferences.getString(key, "");
        T myClass = gson.fromJson(json, generic);
        subscriber.onNext(myClass);
        subscriber.onComplete();
      });
  </code></pre>
  
  <p>and using <code>.fromCallable()</code>:</p>
  
  <pre><code>return Observable.fromCallable(() -&gt; {
        String json = sharedPreferences.getString(key, "");
        return gson.fromJson(json, generic);
      });
  </code></pre>
  
  <p>Is there any Difference if we call <code>onComplete()</code> immediately after first emmit from <code>Observable.create()</code> and using <code>Observable.fromCallable()</code>? If so, what are the <code>pros/cons</code>?</p>