/// <summary>
        /// Notifies MagicHub and other listeners that session should be terminated
        /// </summary>
        /// <param name="sessionKey">The session key.</param>
        /// <param name="reason">The reason.</param>
        /// <remarks>
        /// Right now only used in one place w/in this class, but eventual goal is to be able to invoke admin lockout maybe.
        /// don't factor out
        /// </remarks>
        public void KillSession(string sessionKey, SessionEndingReason reason)
        {
            // todo: amq notify
            ISessionState session;

            _sessions.TryRemove(sessionKey, out session);
            RaiseSessionExpired(session, reason);
        }
 private void RaiseSessionExpired(ISessionState sessionState, SessionEndingReason reason)
 {
     if (SessionExpired != null)
     {
         SessionExpired(this, new SessionStateEventArgs(sessionState)
         {
             EventDetails = reason.ToString()
         });
     }
 }