@markwilson The last piece of the puzzle here is the `FilterCollectionBuilder::buildFromRequest()` method. It expects the filters to be grouped by their filter type (e.g. `$_POST['form-namespace']['exactMatch']` for the `ExactMatchFilter` filters). The problem is that the `FilterFormType` ([see here](https://github.com/tickit-project/tickit/blob/871a0fec7065148940477cc847ec1abe3d06553c/src/Tickit/Bundle/ProjectBundle/Form/Type/FilterFormType.php)) isn't submitting the fields in that way, and there isn't really a way of doing that cleanly.

To work around this, I thought of creating a `FilterDefinition` for each set of filters, which maps the field name to the filter type. We could then just inject that into the `FilterCollectionBuilder::buildFromRequest()` method so it knows what filter types to assign to each field?