Allow for custom controllers (for Flying Sphinx).
Use the controller for delta indexing.
Merge branch 'v1' into v2
Merge remote-tracking branch 'upstream/v2'