service provider update to make more efficient usage of resources by passing indexer into observer