Not been doing much Twisted lately, but have been doing async stuff
elsewhere, and I've learned some useful things.
1. Callbacks should be sync or async, but never
sometimes-one-sometimes-the-other. For details go read
For example, Deferred.addCallback(f) really should never run f()
3. By instrumenting all callbacks it manages, which may or may not
require item #1, Twisted can have a context that automatically follows
callbacks. Node has this and it is extremely useful.
is best summary I've found with a bit of searching.
Twisted-Python mailing list