I have read it, and I'd rather get the long discussion over with so I can get a fully functioning event into the API. If I wanted a partial event I would have removed the cause enum and said "Removed enum". 

If we were to have BEACON and OTHER then how would other plugins determine if a zombie hit a villager, if a player ate a potion, or if a wither applied an effect? 

Some use cases I can think of: 
- Replacing wither effect with another effect (strength for example) based on number of players attacking the thing ("party bonus"). 
- Applying a strength effect to an affected villager to make them slightly harder. 
- "Random Potions" (a renamed potion that applies a random effect)