upgrade RX and use ScalaObservable