data class Registration<T>
Registration(type: Class<T>, factory: (ComponentContainer) -> T)
val factory: (ComponentContainer) -> T
val type: Class<T>