refactoring: Introduced ServiceProvider