This is nearly identical to the code in contacts.js, aside from that version having an extra loop for styles loading:

```js
  var fragment = document.createDocumentFragment();

  var onScriptLoaded = function onScriptLoaded() {
    scriptsLoaded++;
    if (scriptsLoaded === scripts.length) {
      var event = new CustomEvent('asyncScriptsLoaded');
      window.dispatchEvent(event);
    }
  };

  for (var i = 0; i < styles.length; i++) {
    var style = styles[i];
    var elem = document.createElement('link');
    elem.setAttribute('rel', 'stylesheet');
    elem.href = style;
    fragment.appendChild(elem);
  }

  for (var i = 0; i < scripts.length; i++) {
    var script = scripts[i];
    var elem = document.createElement('script');
    elem.setAttribute('type', 'text/javascript');
    elem.src = script;
    elem.addEventListener('load', onScriptLoaded);
    fragment.appendChild(elem);
  }

  document.head.appendChild(fragment);
```

Is there a particular reason why require.js isn't being used? cc @jrburke