How does jQuery implement its Deferred object so that new operator is optional as in var x = $.Deferred(); ?