Use GenericEvent in State

Closes https://github.com/PistonDevelopers/event/issues/155
Merge pull request #218 from bvssvni/master

Use GenericEvent in State