Implement ServiceProviderFactory