private function; called with a Request instance bound to `this`
function responsePluginApplyingCallback(cb) {
	// partly pedantic, partly so the code in the wrapped callback
	// is shorter; saving plugins here guarantees that plugins added
	// *after* the request is made, but *before* the response comes
	// aren't called for this particular request
	var thisReq = this;
	var plugins = Plugins.forResponse().asArray();
	return function (err, res) {
		plugins.forEach(function (pluginFunc) {
			pluginFunc.apply(null, [err, res, thisReq]);
		});
		cb(err, res);
	}
}