I agree with 1 & 2. Haven’t heard of RxRelay before and it definitely looks useful.
For 3, that can also work but from the way I designed
connect() should be invoked by the caller before observing location updates. If we go with this design there should be a
disconnect() call that calls
removeLocationUpdates(). As I mentioned in the post, this decision was deliberate to simplify the function since I was demonstrating the use of