¿Cómo puedo envolver cada respuesta API en un objeto de respuesta estándar en SailsJS?

Soy nuevo en Sails y estoy tratando de descubrir el método mejor / apropiado para devolver un objeto estándar para cada respuesta API.

El contenedor que requiere nuestro front-end es:

{
    "success": true/false,
    "session": true/false,
    "errors": [],
    "payload": []
}

Actualmente, estoy sobrescribiendo las acciones del plan en cada controlador como este ejemplo (que parece muy, muy mal):

   find : function( req, res ){

    var id = req.param( 'id' );

    Foo.findOne( { id : id } ).exec( function( err, aFoo ){

      res.json(
        AppSvc.jsonReply(
          req,
          [],
          aFoo
        ), 200
      );
    });

  }

Y en AppSvc.js:

  jsonReply : function( req, errors, data ){

    return {
      success : ( errors && errors.length ? false : true ),
      session : ( req.session.authenticated === true ),
      errors  : ( errors && errors.length ? errors : [] ),
      payload : ( data ? data : [] )
    };

  }

Además, tuve que modificar cadares.json() Método para cada respuesta predeterminada (badRequest, notFound, etc.). De nuevo, esto se siente tan mal.

Entonces, ¿cómo canalizo correctamente todas las respuestas API en un contenedor estándar?