public void StopAll()
 {
     foreach (var eventName in OrderedEvents)
     {
         if (!SecondsPerEvent.ContainsKey(eventName))
         {
             StopEvent(eventName);
         }
     }
 }
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.AppendLine("Event times (sec):");
            foreach (var eventName in OrderedEvents)
            {
                double seconds = 0;
                if (SecondsPerEvent.TryGetValue(eventName, out seconds))
                {
                    sb.AppendLine($"    {eventName} = {seconds}");
                }
                else
                {
                    sb.AppendLine($"    {eventName} = running...");
                }
            }
            return(sb.ToString());
        }