ajax with de-inversion of control. The last reduct of the callback hell