Provides a prototype service
Each call to provide will create a new instance.
Get or create the instance of the service
Validates that all parameters can be provided
The definition of the service.
True when the service instance was created
The type is always prototype