A non-generic base class for ServiceProvider<TBase>.
An immutable implementation of IServiceProvider that will index services that implement the
When a service is added to a ServiceProvider<TBase>, an mapping is created between the type of this object and the object itself,
but also between the type of any interface derived from
TBase and implemented by this object.
A set of mocks or services injected into the production service providers.