Initialize singletons lazily
Initialize singletons eagerly
The names of the product elements
The name of the type