Refactored to use service locator to locate extension factories