static void RunInvocation(Invocation invocation) { try { Log.Trace($"running invocation {invocation.name} [{invocation.threadId}] after {Time.Now() - invocation.created:F2}s (wanted {invocation.delay:F2}s)"); invocation.action(); } catch (Exception e) { Log.Error($"exception encountered for invocation with name {invocation.name}\n{e.ToString()}"); } }