Currently it is at runtime possible change (add or remove) the filters of a service, but it is not possible to change the filters of a running session.
Being able to add/remove a filter to/from a session would not only add architectural clarity, but be a powerful feature that could be used for many purposes.
Currently, when a problem occurs in a production system, the actions available for sorting out the problem are quite limited; basically you can turn on info level logging. Typically it is also quite hard to repeat problems occurring in a production environment. And typically it is also rather straightforward to fix problems once their cause is known. Not finding out the cause is often caused by now having enough information.
With a possibility to inject filters at runtime, there could be particular debug module that would make extensive logging, which could be injected into a running session for collecting information and then be removed. The potential for extensive logging would impose no cost whatsoever when it is not being used.
It would also make it possible to easily test what impact a particular filter has by adding and then removing it from a running session.
A more speculative use-case would the possibility to change the filters of a long-running session during certain time-periods of the day.
Being able to add/remove filters of a running session would implicitly make it trivial to measure the cost of a particular filter in the routing chain.