prevent events from clobbering each other before they're handled