I debated back and forth with myself but I think you're right. 

The `take` operator will invoke `onCompleted` downwards, and `unsubscribe` upwards. Anything that needs to cleanup or stop should pay attention to `unsubscribe`, others like `map` don't care about `unsubscribe` or `onComplete`. 

Thus I agree with you and will remove the `onCompleted`.

It's more complicated on `groupBy` as it is managing multiple subscriptions, and once the inner are unsubscribed the outer must `onComplete`. The outer being unsubscribed on the other hand wouldn't emit `onComplete`.