Interesting thing is that when using geenlet + proper event framework (gevent / eventlet) you don't have all this issues about different callback styles / methods / objects, and what is more important, IO libraries support (like DB drivers). I know there are ways to use twisted drivers in tornado, or use `deferToThread` - but they doesn't seems as pythonic as monkey patching + python drivers (like with eventlet + <your pure python DB driver>)
It's worth nothing that PyPy has a great support for greenlets with his JIT.
It's worth nothing that PyPy has a great support for greenlets with his JIT.