Too Long; Didn't Read
Using RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences. In RxJava all Subjects acts as both Observer and Observable. This open up many opportunities to decouple your program and handle operation in a contained manner (separation of concerns). This improves event management by allowing observable to be passed around and handle messages on different services. With ReplaySubject every service that subscribe to the processInputs observable will receive all messages as long as onError/onComplete is not called.