public void Execute <T>(params dynamic[] parameters) where T : Subtask
        {
            isRunning = true;

            taskThread = new Thread(() =>
            {
                try
                {
                    TaskCore.Begin();
                    TaskCore.Bind(container.Add);

                    Result = TaskCore.Require <T>(parameters);
                }
                catch (Exception ex)
                {
                    threadException = ex;
                }
                finally
                {
                    TaskCore.End();
                    isRunning = false;
                }
            });

            taskThread.Start();
        }
        public dynamic Execute <T>(params dynamic[] parameters) where T : Subtask
        {
            try
            {
                TaskCore.Begin();
                TaskCore.Bind(container.Add);

                return(TaskCore.Require <T>(parameters));
            }
            finally
            {
                TaskCore.End();
            }
        }
 public static dynamic Require <T1, T2>(ref bool received, params dynamic[] parameters)
     where T1 : Subtask
     where T2 : Subtask
 {
     return(TaskCore.Require <T1, T2>(ref received, parameters));
 }
 public void Trigger <T>(string message)
 {
     TaskCore.Trigger <T>(message);
     McsfRestoreLogger.WriteLog(message);
 }
 public dynamic Require <T>(params dynamic[] parameters) where T : Subtask
 {
     return(TaskCore.Require <T>(parameters));
 }