public void Subscribe(IObservable <ITweetItem> items, Action <ITweetItem> optionalActionOnSubscribe = null) { optionalActionOnSubscribe = optionalActionOnSubscribe ?? (_ => { }); IsBusy = true; _subscription.DisposeIfNotNull(); _subscription = items .SubscribeOnThreadPool() .ObserveOnDispatcher() .Do(_ => IsBusy = false) .Do(x => optionalActionOnSubscribe(x)) .Subscribe(x => Tweets.Append(x), () => IsBusy = false); ((IActivate)this).Activate(); }