State Management through
Rich with operators, Adheres to R&FP, exceptional handling,
lifecycle management, etc.
val models = events.flatMap { moviesClient.searchMovies(it.searchTerm) }
.map { it.results.asResult() }
.onErrorReturn { Result.Error(it.toApplicationError()) }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())