eventMappable: refactor to be less horrific