This is super strange. `^` means or. Whyt not `|`? And the `:event` matches the event, why not `~:event`? Maybe having two `on` statements would make it much readable than this one: took me quite long time to figure that out (hoping I got it at the end:)