Using loose traits as constraints for event loop

Closes https://github.com/PistonDevelopers/event/issues/250