public bool RunTask(IProcessControlTask task, ProcessControl processControl)
        {
            try
            {
                this.Log("Called", task);

                // run the task
                var result = task.Execute(processControl);

                this.Log("Completed with result: {0}", task, result);
                return(result);
            }
            catch (Exception ex)
            {
                var message = ex.GetExceptionDetails();
                this.LogError("Called - Failure. Details: {0}", task, message);
                processControl.LastErrorMessage = ex.ToString();
                return(false);
            }
        }
 private void LogError(string msg, IProcessControlTask task, params object[] args)
 {
     this.logger.LogError(string.Format(task.Name + " - " + msg, args), task.Name);
 }