parser no longer inherits ev::io