public void Remove(TimerItem item)
 {
     if (_items.Contains(item))
     {
         _items.Remove(item);
     }
 }
 public void Add(TimerItem item)
 {
     if (_items.Contains(item) == false)
     {
         _items.Add(item);
     }
 }
 public void Stop(TimerItem item)
 {
     if (item.TimerInstance != null)
     {
         item.TimerInstance.Dispose();
         item.TimerInstance = null;
     }
 }
        private void Start(TimerItem item)
        {
            Stop(item);

            Add(item);

            item.TimerInstance = new System.Threading.Timer(
                        new TimerCallback(item.Callback),
                        new AutoResetEvent(false),
                        item.StartDelay,
                        item.Period);
        }