I've worked on a commercial, complex, async codebase with raggi and have to agree that there is a way other than callback-hell, even for complex evented applications.
In my personal opinion, even more so on ruby than javascript, but I don't want to get to that really.
edit: changed asterisks to underscores because I didn't know they'd be italicized