Can we use ServiceLocator here?  Does it make sense to do so?