(function () {
  var fibers = Npm.require('fibers');
  var future = Npm.require('fibers/future');

  blocking = function (obj, fun) {
    if (fun == null) {
      fun = obj;
      obj = null;
    }
    var wrapped = future.wrap(fun);
    var f = function () {
      return wrapped.apply(obj, arguments).wait();
    };
    f._blocking = true;
    return f;
  };
})();

@@ -139,19 +139,12 @@
 if (
+!
 fun
- == null
 ) %7B%0A
@@ -176,12 +176,17 @@
 j = 
-null
+undefined
 ;%0A  
@@ -211,19 +211,25 @@
 d = 
-future.wrap
+Meteor._wrapAsync
 (fun
@@ -253,24 +253,92 @@
 nction () %7B%0A
+      if (typeof obj === 'undefined') %7B%0A        obj = this;%0A      %7D%0A
       return
@@ -371,15 +371,8 @@
 nts)
-.wait()
 ;%0A  

Use `Meteor._wrapAsync` internally.