Generic GetInstance<T> calls now return T, not object