Well, the structure is this:

```
/jcr:system/mode:indexes/{providerName}/{indexDefinition}/{columnDefinition}
```

The only bit about the provider that we need is the name, and I previously just stored the provider name on a property of the index definition. But then when an index definition is removed (and we know this by processing events), we don't know which provider owns that index. Tracking the provider name via the path makes this straightforward.

So the `mode:indexes` node is really just a container node, akin to `mode:locks` or `mode:namespaces`. It contains 0 or more nodes that each represent a providers (and which each contain the indexes owned by that provider).