Possible improvement: use a dedicated exception type for this module, and have `stopPropagation` only catch that type. Advantage: it won't accidentally hide some other exceptions.