The service locator pattern