Currently adding new directives to the template filter system involves rewriting the filter classes, but that is prone to conflict.

The filter class should not contain any directives (or on a few core ones) and instead pull directives matching an interface in via the config system.