A trick I just figured out: if you have a bunch of widgets that you want to have the same behaviour, you can put the event-handler in the card’s script instead of the widgets’. But then if you accidentally open a widget’s script, it may get populated with a template handler that overrides the card-level one.
So for my act-alike widgets, I open up the script and replace the template handler with a comment like:
# See card-level event handlers
Once there’s a non-empty widget script, examining the widget script won’t create the template handler. And as a benefit, if I examined the widget script to remind myself how things work, I see a reminder instead of a mysteriously blank script. :)