I'm pretty sure this is actually a feature of jQuery. Since JavaScript doesn't have something like Ruby's splat operator, it's normally impossible to pass an arbitrary number of arguments from the caller down to some other function. So, the caller has to pass an array.

The one example of passing data on [this doc page](http://api.jquery.com/trigger/) passes an array, FWIW.