introduce IFinderFactory<in T>