removed GenericIOEvent (as payload is already supplied by IOEvent)
removed StateHandler (obsolete)
first working version with non-blocking memory allocation