public void add(T key, DateTime time, Action action) { lock (timers) { LogC.verbose(() => "T+ (" + identity() + "): " + key + " for:" + ymdHuman(time)); Bomb.existing(timers, key); Timer timer; timerManager().atTime(time, () => { lock (timers) timers.Remove(key); action(); }, out timer); timers[key] = timer; } }