 
   @addProperty: (name, getter) -> super(name, @promisify(getter, name))
 
-  @promisify: (fn, name = null) -> ->
-    task = @resolveFlags().then => Q.promised(fn)
+  @promisify: (fn, name = null) -> (args...) ->
+    task = @resolveFlags().then => Q.promised(fn).apply(this, args)
     barrierContext.pushTask(task, "expectation #{name}")
 
     this


  this

assertions("Assertion": Expectation, utils)

      this

  resolveFlags: ->
    return Q(null) if @flag("hold")

    flags = _.keys(@__flags || {})
    promises = _.map flags, (flag) =>
      Q(@__flags[flag]).then (value) =>
