Support Dependency Injection: Extract the filter implementation from the attribute and create a default filter provider and a base class for easily creating new filter providers that can be implemented via DI.