- Added a notifyUsage() template method on FilterProcessor, so that the filter metrics implementation can be overridden.
- Stopped FilterProcessor from being a Singleton, so can override it's behaviour.
-- Changed usage of FilterProcessor to instanciate and re-use an instance rather than relying on singleton.