ClassFactory would probably be fine accepting not ...
# eap
u
ClassFactory would probably be fine accepting not only the exact class of T, but also its subtypes, in which case it could take
clazz: Class<out T>