I'm pretty "insecurely" minded, so help me out: what's an example of a problem this would prevent?  Depending on the values passed in, it would most likely just result in invalid JavaScript to those passing in bad values, which is probably OK in that scenario.

```js
(function (event, args) {
  {{amdLoaderName}}(["{{amdModuleId}}"], function (ZeroClipboard) {
    ZeroClipboard.dispatch(event, args);
  });
})(event, args);
```

Alternative ways to do this and support all AMD loaders include:
 - Require that their loader function is exposed as a top-level reference so that we could do `window[{amdLoaderName}](...)` instead of just `{amdLoaderName}(...)`. Changing this to `window[{amdLoaderName}]` would be a problem for a minority of loaders like Inject that have a "namespaced" loader function (`Inject.require`) instead of just a top-level one (`require`) but we could just require that Inject users do a basic `window.require = Inject.require;` or something like that before they use ZeroClipboard.
 - Still go the `window[{amdLoaderName}]` route but pre-parse the string as a JavaScript query to support dot and bracket notations, e.g. `"Inject.require"` would get translated into `window["Inject"].require`, `"Inject['require']` would get translated into `window["Inject"]['require']` (or `window["Inject"].require`).  However, I'd really rather not than get into this as parsing can become ridiculously complex even for valid and secure values.
 - Check the string for tell-tale security attacks, e.g. "\\", ";", "function", etc.