Abstracted ServiceProvider with an interface for simplicity.