Transient: Used by default if the service does not retain state.
Scopeted: Used for DbContext, UnitOfWork, or any service that needs to retain state during a request.
Singleton: Used for Cache, Configuration, Logger factory, HttpClient (in combination with IHttpClientFactory) 1000 games, or heavy services that need to be initialized only once.
