protected void OnRemovePrey(ControlEvents.RemovePreyEventArgs e)
        {
            removePreyEventHandler eventHandler = RaiseRemovePreyEvent;

            if (eventHandler != null)
            {
                eventHandler.Invoke(this, e);
            }
        }
 /// <summary>
 /// Its predator is dead or have lost this lifeform.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void RemovePredatorEventHandler(object sender, ControlEvents.RemovePreyEventArgs e)
 { //delegate. The predator has died or is lost to this lifeform.
     if (e.IDs.senderID != ID)
     {
         if (helper.Contains(HuntedBy, e.IDs.senderID)) //this should always be true. If it is not, then something has gone wrong.
         {
             string[] array = HuntedBy;
             helper.Remove(ref array, e.IDs.senderID);
             HuntedBy = array;
         }
     }
 }