The idea is to create a new policy filter on each configuration. Whenever a route is being processed, you read which filter to run. If this filter is 0, [null pointer] then give it the last configuration. Else just run whatever filter is returned.
Filters should be referenced counted by routes. When reference count reaches 0, it should be deleted.
Why not keep filters internally here and read a filter id from route? Well because we cannot assume when to increment and decrement the reference count. Say it's a normal route lookup and we do the filtering, and it results to "accepted". It doesn't imply we need to +1 the reference count.
| VersionFilters ()