I'd expect the names to be `first` and `last` whether blocking or not. Also, should `BlockingObservable` really extend `Observable`? Seems like a potential source of confusion.