Use GenericEvent

Closes https://github.com/PistonDevelopers/sprite/issues/30