You might want to reconsider your Node.js callback API.
The standard way of returning errors is via the first argument :
callback(err, data)
while you suggest doing it like this: callback(data, err)
Apart from being an eyesore, it breaks compatibility with a ton of third-party libs like `caolan/async`.