Implement unsubscription

Subscribe returns an IDisposable which, when disposed, unsubscribes the observer from the provider.