Widget: Support events with dashes and colons