If you like practicing in identifying code smells, then you can find below a short class called TimerManager . public class TimerManager { public delegate void TimerCallback ( object data); private static readonly object _sync = new object (); private readonly Dictionary < int , Timer > timers = new Dictionary < int , Timer >(); private readonly Dictionary < int , TimerCallback > callbacks = new Dictionary < int , TimerCallback >(); public void SetTimeout( TimerCallback timerCallback...