C# Observer Pattern with threading. IObservable, IObserver not implemented