/// <summary>
        /// Removes task from UI after being deleted from data source.
        /// </summary>
        /// <param name="asyncTask"></param>
        /// <param name="task"></param>
        private void OnRemoveTaskComplete(Task <bool> asyncTask, Task task)
        {
            RemoveTask(task);

            if (_masterViewModel.ActiveTask != null && task.Id == _masterViewModel.ActiveTask.Id)
            {
                _masterViewModel.ResetActiveTask();
            }
        }
        /// <summary>
        /// Prepends a task object created by the task service.
        /// </summary>
        /// <param name="asyncTask"></param>
        private void OnAddTaskComplete(Task <Task> asyncTask)
        {
            if (asyncTask == null)
            {
                return;
            }

            Tasks.Insert(0, asyncTask.Result);
            TaskDescription        = "";
            IsAddTaskButtonEnabled = true;
        }
        /// <summary>
        /// Callback to be executed when a list of tasks have been queried from
        /// the data source.
        /// </summary>
        /// <param name="asyncTask"></param>
        private void OnTasksLoaded(Task <List <Task> > asyncTask)
        {
            var tasksToAdd = asyncTask.Result;

            Tasks.Clear();

            foreach (var t in tasksToAdd)
            {
                t.TimeString = _masterViewModel.GetTime(t, null);
                if (_masterViewModel.ActiveTask != null && _masterViewModel.ActiveTask.Id == t.Id)
                {
                    _masterViewModel.ActiveTask = t;
                }

                Tasks.Add(t);
            }

            IsLoadingTasks = false;
        }
 /// <summary>
 /// Removes task from UI.
 /// </summary>
 /// <param name="task"></param>
 private void RemoveTask(Task task)
 {
     Tasks.Remove(task);
 }