public static void Main()
        {
            TimeoutMap<String, String> map = new TimeoutMap<string, string>();

            map.TimeoutEvent +=new TimeoutMapCallback<String,String>(map_TimeoutEvent);


            Console.Out.WriteLine("Current time: " + DateTime.Now);

            map.Put("cat", "meow", 2000);
            map.Put("dog", "bark", 5000);
            map.Put("pig", "oink", 10000);

            while (true)
            {
                Thread.Sleep(5000);
            }
        }
        static void map_TimeoutEvent(TimeoutMap<String,String> map,string entry)
        {
            Console.Out.WriteLine("Key has expired: {0} @  {1}" ,entry,DateTime.Now);
            map.Remove(entry);

        }