message: feat: allow for multiple onLoad callbacks in loader
diff: }
  var injected = false;
  - var onLoadCallback;
  + var onLoadCallbacks = [];
  // Create a namespace and attach function that will store captured exception
  // Because functions are also objects, we can attach the queue itself straight to it and save some bytes
  // We only want to lazy inject/load the sdk bundle if
  // an error or promise rejection occured
  // OR someone called `capture...` on the SDK
  - injectSdk(onLoadCallback);
  + injectSdk(onLoadCallbacks);
  }
  queue.data.push(content);
  };
  queue.data = [];
  - function injectSdk(callback) {
  + function injectSdk(callbacks) {
  if (injected) {
  return;
  }
  oldInit(target);
  };
  - sdkLoaded(callback, SDK);
  + sdkLoaded(callbacks, SDK);
  } catch (o_O) {
  console.error(o_O);
  }
  _currentScriptTag.parentNode.insertBefore(_newScriptTag, _currentScriptTag);
  }
  - function sdkLoaded(callback, SDK) {
  + function sdkLoaded(callbacks, SDK) {
  try {
  - if (callback) {
  - callback();
  + for (var i = 0; i < callbacks.length; i++) {
  + if (typeof callbacks[i] === 'function') {
  + callbacks[i]();
  }
  + }
  +
  var data = queue.data;
  // We want to replay all calls to Sentry first to make sure init is called before
  // that the first Sentry "instance" is our with onLoad
  _window[_namespace] = {
  onLoad: function (callback) {
  + onLoadCallbacks.push(callback);
  if (lazy && !forceLoad) {
  - onLoadCallback = callback;
  - } else {
  - injectSdk(callback);
  + return;
  }
  + injectSdk(onLoadCallbacks);
  },
  forceLoad: function() {
  forceLoad = true;
  if (lazy) {
  setTimeout(function() {
  - injectSdk(onLoadCallback);
  + injectSdk(onLoadCallbacks);
  });
  }
  }
  if (!lazy) {
  setTimeout(function() {
  - injectSdk(onLoadCallback);
  + injectSdk(onLoadCallbacks);
  });
  }
  })(window, document, 'script', 'onerror', 'onunhandledrejection', 'Sentry', 'loader.js', '../../build/bundle.js', {
  