The JSDO library can use named events and jQuery-style Promises to handle asynchronous operations.
The zip file includes two version of the program:
The actual code resides in index.js which is included in both versions.
The JSDO library uses jQuery-style Promises, however, it does not technically depend on jQuery. It can use other implementation of promises if they are provided in the form of a "$.Deferred" object.