Decouple Index from ElementFactory & Document, implement service locator for default index provider.