Change the way the eventloop handles reading to make sure a single socket can't starve others
Add async stuff