Favor on doOnCompleted over EndObserver, update dependencies

I would say `doOnTerminate` because if you re-trigger the network call in `onComplete` of the real observer it wouldn't trigger a new request.