How to register file action based on individual file characteristics?

I’m implementing an app on v30 and am trying to add some app specific file actions to the ellipsis file action menu. I can add the actions, but am puzzled why the registerFileAction enabled function takes a files argument containing all files/nodes in the view rather than a single file argument containing the specific file/node similar to the exec function.

I don’t want to add an action to all files/nodes in the view, only specific ones matching particular features.

Is this a bug? Should registerFileAction enabled take a single file parameter rather than all files?

Or is there some trick I’m missing to limit the file action only to specific files in the view?

Ah, hmmm… It appears that the array of files/nodes always only includes a single item, which is the particular file/node in the view listing. OK, well, that at least enables me to do what I need – but I must ask, why an array if there is only ever a single item? That’s very unintuitive and confusing. Why not just provide a file parameter with a single file/node value?