/// <summary>
        /// Gives mouse input to the nodes
        /// </summary>
        /// <param name="e"></param>
        private void ProcessStateEvents(Event e)
        {
            bool guiChanged;

            // Go through nodes backwards since last node is drawn on top
            for (int i = states.Count - 1; i >= 0; i--)
            {
                guiChanged = states[i].ProcessEvent(e, this);

                if (guiChanged)
                {
                    GUI.changed = true;
                }
            }

            if (anyStateNode != null)
            {
                guiChanged = anyStateNode.ProcessEvent(e, this);

                if (guiChanged)
                {
                    GUI.changed = true;
                }
            }
        }