There can only ever be one callback argument though... so it seems odd for it to be an array if that's the case.  I went with the Inspector.json-style syntax where, when the one callback arg is a bag, the return documentation is an array of items describing the bag's properties.  For the primitive return values of downloadFile and abortDownload, I took a guess -- doesn't look like Inspector.json has any cases like that.