atom.js
function () {
				if (q) {
					for (var i = 0, len = arguments.length; i < len; i++) {
						q.push(arguments[i]);
						if (!q.pending) {
							doNext.apply({}, q.args || []);
						}
					}
				}
				return me;
			}
function () {
				if (q) {
					for (var i = 0, len = arguments.length; i < len; i++) {
						q.push(arguments[i]);
						if (!q.pending) {
							doNext.apply({}, q.args || []);
						}
					}
				}
				return me;
			}
function ( ) { if ( q ) { for ( var i = 0 , len = arguments . length ; i < len ; i ++ ) { q . push ( arguments [ i ] ) ; if ( ! q . pending ) { doNext . apply ( { } , q . args || [ ] ) ; } } } return me ; }
Add a function or functions to the async queue.  Functions added thusly must call their first arg as a callback when done.  Any args provided to the callback will be passed in to the next function in the queue.
Add a function or functions to the async queue . Functions added thusly must call their first arg as a callback when done . Any args provided to the callback will be passed in to the next function in the queue .