private void DebugAllErrors(TriggerHandler handler, Monkeyspeak.Trigger trigger, Exception ex)
        {
            Logger.Error($"{handler.Method.Name} in {trigger.ToString(true)}\n{ex}");
#if DEBUG
            throw ex;
#endif
        }
 /// <summary>
 /// Gets the description for a trigger
 /// </summary>
 /// <param name="excludeLibraryName">[true] hide library name, [false] show library name above triggers</param>
 /// <param name="trigger">todo: describe trigger parameter on GetTriggerDescription</param>
 /// <returns>string</returns>
 public string GetTriggerDescription(Trigger trigger, bool excludeLibraryName = false)
 {
     if (trigger == null)
     {
         return("(#:#)");
     }
     lock (syncObj)
     {
         return(libraries.FirstOrDefault(lib => lib.Contains(trigger))?.ToString(trigger, excludeLibraryName) ?? trigger.ToString());
     }
 }