           # If object is a hash- or array-like object we look for the
           # presence of the key and if its available we return it
           if isArrayAccess or isObjectAccess
-            unfuture @lookupAndEvaluate(object, part), (err, result) ->
-              object = liquify(result)
+            unfuture @lookupAndEvaluate(object, part), (err, result) =>
+              object = @liquify(result)
               next()
 
           else

            if isSpecialAccess
              object = switch part
                when "size"
                  liquify(object.length)
                when "first"
                  liquify(object[0])
                when "last"
                  liquify(object[object.length-1])
                else
                  liquify(object)

              next()


      return next() if object == null

      unfuture object, (err, unfuturedObject) =>
        object = @liquify(unfuturedObject)

        return next() if object == null

