slightly better event style, opinionated handling of repeated ! and ?