Como posso agrupar cada resposta da API em um objeto de resposta padrão no SailsJS?

Eu sou novo no Sails e estou tentando descobrir o método melhor / adequado para retornar um objeto padrão para cada resposta da API.

O contêiner que nosso front-end exige é:

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

Atualmente, estou substituindo as ações do blueprint em cada controlador como este exemplo (o que parece muito, muito errado):

   find : function( req, res ){

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

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

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

  }

E no 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 : [] )
    };

  }

Além disso, eu tive que modificar cadares.json() método para cada resposta padrão (badRequest, notFound, etc). Novamente, isso parece tão errado.

Então, como canalizo corretamente todas as respostas da API para um contêiner padrão?

questionAnswers(1)

yourAnswerToTheQuestion