public void RemoveTrigger( EventTrigger trigger )
		{
			lock ( Triggers )
			{
				Triggers.Remove( trigger );
			}
		}
		public void AddTrigger( EventTrigger trigger )
		{
			lock ( Triggers )
			{
				Triggers.Add( trigger );
			}
		}
		public void OneTriggerTest()
		{
			var trigger = new EventTrigger( AlwaysTrue ) { IsRepeatingTrigger = true };
			var sequenceTrigger = new SequenceTrigger( trigger );
			int triggerCount = 0;
			trigger.ConditionsMet += () => ++triggerCount;
			InputController.AddTrigger( sequenceTrigger );
			Assert.AreEqual( 0, triggerCount );

			InputController.Update();
			Assert.AreEqual( 1, triggerCount );

			InputController.Update();
			Assert.AreEqual( 2, triggerCount );
		}
 public void RemoveTrigger( EventTrigger trigger )
 {
     _toRemove.Add( trigger );
 }
			void OnConditionsMet()
			{
				_currentTrigger.ConditionsMet -= OnConditionsMet;
				_currentTrigger = _triggers.Next();
				_currentTrigger.ConditionsMet += OnConditionsMet;
			}
			public SequenceCondition( IEnumerable<EventTrigger> triggers )
			{
				_triggers = new LoopList<EventTrigger>( triggers );
				_currentTrigger = _triggers.Next();
				_currentTrigger.ConditionsMet += OnConditionsMet;
			}