I want to redesign the structure of the project so that it's easier to add new policies. I think we can do this by making a trait or some kind of interface each filter must adhere to, to decouple the filtering logic and to create a "pipeline" of filters that gets processed for each event.
I don't have a good plan for this yet but here are some good projects to take inspiration from: