Node.js / Express - modifying response template context through request/response objects

I am using Express to serve web pages in node.js application.

Let's say I want to have a variable foo available in all views rendered by render method of response object. I know that I can define dynamic helpers for this task. However, I found them unsuitable when you need to set helper variable asynchronously like this (Mongoose example):

Thing.count(filter, function(error, thingCount) {
    foo = thingCount;
}

I've tried using connect middleware approach, which suits me perfectly, however the question here is how to affect the response context. By looking into render method definition in express/lib/view.js I've found that it can be manipulated by writing into app._locals object:

function putFooIntoContext (req, res, next) {
  Thing.count(filter, function(error, thingCount) {
    res.app._locals.foo = thingCount;
    next();
  }
}

It works as intended, however, I am a bit afraid that such straightforward approach is not the best solution. Can someone give me any ideas how to affect response context by interacting only with request/response objects in proper way designed by Express developers?

Express 3.x allows for asynchronous helpers to be utilized in the form of 'app.use'. So for a simple global 'foo' variable, your code would be as follows:

app.use(req, res, next) {
    Thing.count(filter, function(error, thingCount) {
        res.locals.foo = thingCount;
        next();
    });
}

Of course the middleware option is also valid, this is just another viewpoint and saves inserting the middleware per each app.get(....)