/// <summary>
 /// Cancels the running task.
 /// </summary>
 public void Cancel()
 {
     ActionSchedulerViewModel.GetInstance().CancelAction(this);
 }
 /// <summary>
 /// Starts the repeated task.
 /// </summary>
 public void Begin()
 {
     ActionSchedulerViewModel.GetInstance().ScheduleAction(this, this.OnBegin, this.OnUpdate, this.OnEnd);
 }