To be more flexible when designing event-driven systems. Every time I want to call an event on an actor I have to specifically cast to that receiving object. Lot’s of unnecessary glue code. If I change the class of the receiving object I have to change the glue code in the calling object as well.