When you're doing that kind of programming, I think it's better to use a language or ecosystem designed specifically for that purpose rather than use a library such as Twisted or EventMachine which is inside another language that may or may not support what you're doing. This has no basis in theory or anything, just my own experience. Makes things easier for me, that's all.
This video gives some good insight into what led to his decision to start fresh rather than try and change things in Ruby http://m.youtube.com/watch?v=SAc0vQCC6UQ
So that's probably the biggest thing about Node - everything in the core is built with event orientation in mind, so you know you're not going to hit something that will block and kill you, and that minset is pervasive in userland too.