public void RegisterPattern(BehaviorPattern behaviorPattern)
 {
     if (!behaviorPatterns.Contains(behaviorPattern))
     {
         behaviorPattern.StartUp();
         behaviorPatterns.Add(behaviorPattern);
     }
 }
 /// <summary>
 /// Adds a pattern to this animal
 /// </summary>
 /// <param name="behaviorPattern"></param>
 /// <param name="stepCompletedCallBack"></param>
 /// <param name="collaboratingAnimals"></param>
 public void AddBehaviorPattern(BehaviorPattern behaviorPattern, StepCompletedCallBack stepCompletedCallBack, StepCompletedCallBack alternativeCallback)
 {
     activeBehaviorPattern = behaviorPattern;
     behaviorPattern.InitializePattern(this.gameObject, stepCompletedCallBack, alternativeCallback);
 }