internal ProcessState(ProcessStepComplete complete, ProcessStepError error) { _evnt = new AutoResetEvent(true); _doc = new XmlDocument(); _doc.LoadXml(_BASE_STATE); _stateElement = (XmlElement)_doc.GetElementsByTagName(_PROCESS_STATE_ELEMENT)[0]; _log = (XmlElement)_doc.GetElementsByTagName(_PROCESS_LOG_ELEMENT)[0]; _variables = new StateVariableContainer(this); _suspensions = new SuspendedStepContainer(this); _path = new ProcessPath(complete, error, new processStateChanged(_stateChanged), this); }