Android reactive programming with RxJava by Ivan Morgillo