Renamed ServiceProvider to ServiceLocator, i.e. be a concrete type, and got rid of the interface