es6-ify a bunch more stuff
Fix passback of `events` array when swap is illegal