I typically use something like Retrofit that wraps up my REST API calls and return the parsed responses as items emitted by a returned Observable for that given call. That way I’m subscribing to the actual data request event and not a data update observable I “manually” feed by providing data to a Subject. You can apply more flow controls this way and react to all scenarios on the UI, including HTTP request failures more fluidly.