Initial suggestion for extension implmentation.

We could -- you want the exception, or should the Event have a `consumed` property?  Do you like the usage being:

   if event.broadcast():
       # event was consumed

Or would it read better as:

    event.broadcast()
    if event.consumed:
        # event was consumed