private void SetupDeleteMethod()
        {
            DeleteCommand =
                ReactiveCommand.CreateFromTask <Unit, Unit>(
                    async dummy =>
            {
                await _repository.RemoveAsync(SelectedPhone).ConfigureAwait(false);
                return(Unit.Default);
            },
                    this.WhenAny(vm => vm.SelectedPhone, change => change.Value != null));

            DeleteCommand.ObserveOn(MainThreadScheduler).Subscribe(dummy => { Phones.Remove(SelectedPhone); });
            DeleteCommand.ThrownExceptions.Subscribe(ex => { MessageBox.Show(ex.Message); });
        }