rewrote and cleaned up some parts and functionalities
- added EventListener groups
- renamed EventFilter to EventListener.Filter
- filters work different
- mayor cleanup