public ToDoTaskDetailViewModel(Cache cache, TasksProxy proxy, IMapper mapper)
        {
            this.cache  = cache;
            this.proxy  = proxy;
            this.mapper = mapper;

            var titleObs = this.WhenAnyValue(x => x.Dvo.Name)
                           .Select(x => $"Task '{x}'")
                           .ObserveOn(RxApp.MainThreadScheduler);

            _Title  = titleObs.ToProperty(this, x => x.Title, "Loading ...");
            _Header = titleObs.ToProperty(this, x => x.Header, "Loading ...");

            RenameCommand = ReactiveCommand.CreateFromTask(async() =>
            {
                var newName = await RenameInteraction.Handle(Dvo.Name);
                if (!string.IsNullOrWhiteSpace(newName))
                {
                    await proxy.RenameToDoTask(Dvo.Id, newName);
                    Dvo.Name = newName;
                }
            });
        }