public static T GetInstance <T>(TaskServiceEngine eng, params object[] args) => (T)Activator.CreateInstance(data.First(d => d.engine == eng && d.type is T)?.type, args);
public static void RegisterType(TaskServiceEngine eng, Type type) { data.Add(new Data { engine = eng, type = type }); }