public async Task <bool> CancelObjectOnGoingActionAsync(IObjectWithCancellableAction objectWith)
        {
            if (!_OnGoingCancellableActions.Contains(objectWith))
            {
                return(false);
            }

            try
            {
                if (objectWith.AsyncCancelCurrentActionDelegate != null)
                {
                    await objectWith.AsyncCancelCurrentActionDelegate();

                    _OnGoingCancellableActions.Remove(objectWith);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                e.ShowException();
                return(false);
            }

            return(true);
        }
 public void CancellableActionFinished(IObjectWithCancellableAction objectWith)
 {
     _OnGoingCancellableActions.Remove(objectWith);
 }
 public void NewCancellableAction(IObjectWithCancellableAction objectWith)
 {
     _OnGoingCancellableActions.Add(objectWith);
 }