Overview of auto factories
Auto factories allow us to define an interface that will be auto-implemented and thus save us writing a factory that has to resolve the created type's dependencies.
This section provides examples of using the available methods.