old_contents: (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;
    };
  })();
  
new_contents: (function () {
    var fibers = Npm.require('fibers');
    var future = Npm.require('fibers/future');
  
    blocking = function (obj, fun) {
      if (!fun) {
        fun = obj;
        obj = undefined;
      }
      var wrapped = Meteor._wrapAsync(fun);
      var f = function () {
        if (typeof obj === 'undefined') {
          obj = this;
        }
        return wrapped.apply(obj, arguments);
      };
      f._blocking = true;
      return f;
    };
  })();
  
subject: Use `Meteor._wrapAsync` internally.