public ProcessResults Run(ProcessArgs processArgs, Action <ProcessTrace, StepNotificationState> onNotificationStateChanged)
        {
            ProcessResults processResults;

            using (NotificationEngine engine = Create())
            {
                processResults = engine.Run(processArgs, onNotificationStateChanged);
            }

            return(processResults);
        }
        private NotificationEngine Create()
        {
            ProcessTraceHandler processTraceHandler = new ProcessTraceHandler();
            TProcessContext     processContext      = new TProcessContext
            {
                ProcessDefinition = _processDefinition
            };

            NotificationEngine engine = new NotificationEngine(processTraceHandler, processContext);

            return(engine);
        }