I'm sorry I don't buy JS code is hard to maintain analogy.
If you write modular and/or functional code, JS code bases can be just as easy / hard to maintain as any other language.
If you write modular and/or functional code, JS code bases can be just as easy / hard to maintain as any other language.
Gevent in python for example is pretty popular and similar is the case with Em-synchony in Ruby.
I have used callback objects but really that is not even close to what one can achieve with Fibers or Greenlets.