private void OnSessionStateChanged(object sender, SessionStateChangedEventArgs e)
        {
            Logger.Write(
                LogLevel.Verbose,
                string.Format(
                    "Session state changed --\r\n\r\n    Old state: {0}\r\n    New state: {1}",
                    this.SessionState.ToString(),
                    e.NewSessionState.ToString()));

            this.SessionState = e.NewSessionState;

            if (this.SessionStateChanged != null)
            {
                this.SessionStateChanged(sender, e);
            }
        }
        void powerShell_InvocationStateChanged(object sender, PSInvocationStateChangedEventArgs e)
        {
            SessionStateChangedEventArgs eventArgs = TranslateInvocationStateInfo(e.InvocationStateInfo);

            this.OnSessionStateChanged(this, eventArgs);
        }