instead of ``callback(data)`` can you try chaining [deffereds](http://api.jquery.com/category/deferred-object/)? Since everything here is pretty much already a deferred then it should flow nicer.