/// <summary>
        /// Called when the transition we have just run has completed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        private void onTransitionCompleted(object sender, ZeroitTransitor.Args e)
        {
            // We unregister from the completed event...
            ZeroitTransitor transition = (ZeroitTransitor)sender;

            transition.TransitionCompletedEvent -= onTransitionCompleted;

            // We remove the completed transition from our collection, and
            // run the next one...
            m_listTransitions.RemoveFirst();
            runNextTransition();
        }
        /// <summary>
        /// Called when a transition has completed.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The e.</param>
        private void onTransitionCompleted(object sender, ZeroitTransitor.Args e)
        {
            // We stop observing the transition...
            ZeroitTransitor transition = (ZeroitTransitor)sender;

            transition.TransitionCompletedEvent -= onTransitionCompleted;

            // We remove the transition from the collection we're managing...
            lock (m_Lock)
            {
                m_Transitions.Remove(transition);
            }
        }