Add event lister, and refactor cukes

This was originally two commits, but I gitted wrong and now it's one. Sorry. 0:30 with @pikesley