Added proper unsubscribe handling for both observable -> enumerator and enumerator -> observable