Raise a Canceled exception upon event cancel

See #15 
@danielkza would this solve your problem? (looking at the documentation and the unit test diff)