public static void RegisterLogic <T>(Logic logic) { if (!Logics.ContainsKey(typeof(T))) { Logics.Add(typeof(T), new List <Logic>()); } Logics[typeof(T)].Add(logic); }