.subscribe(updateProcessor);
final Subject<Option<VNode>> vScenegraphProcessor = ReplaySubject.createWithSize(2);
updateProcessor.map(Update::getState)
.map(view::apply)
.map(Option::of)
<BUG>.startWith(Option.<VNode>none())
.subscribe(vScenegraphProcessor);</BUG>
final Observable<Vector<Patch>> patchObservable = vScenegraphProcessor.zipWith(vScenegraphProcessor.skip(1), Differ::diff);
vScenegraphProcessor
.zipWith(patchObservable, Tuple::of)

.subscribe(updateProcessor);
final Subject<Option<VNode>> vScenegraphProcessor = ReplaySubject.createWithSize(2);
updateProcessor.map(Update::getState)
.map(view::apply)
.map(Option::of)
.startWith(initialVNode)
.subscribe(vScenegraphProcessor);
final Observable<Vector<Patch>> patchObservable = vScenegraphProcessor.zipWith(vScenegraphProcessor.skip(1), Differ::diff);
vScenegraphProcessor
.zipWith(patchObservable, Tuple::of)
