public virtual void Pause()
        {
            lock (_executionLock)
            {
                if (ExecutableState != ExecutableState.Running)
                {
                    return;
                }
                LogService.Log(LogType, LogMessageType.Debug, Name, "Pausing execution");
                ExecutableState = ExecutableState.Paused;

                // Disable transitions out of the current node while paused. This machine
                // cannot exit the node until the connectors are enabled again.
                CurrentNode.DisableConnectors();
                // Let overrides pass in their own args, but none needed here.
                OnPaused(null);
            }
        }