     if newScripts.concat(newLinks).some(hasAssetConflicts(activeAssets))
       return failureCallback()
 
-    updateTasks = [
-      (done) => updateLinkTags(@activeDocument, newLinks, done),
-      (done) => updateScriptTags(@activeDocument, newScripts, done)
-    ]
-
-    asyncSeries(updateTasks, successCallback)
+    updateLinkTags(@activeDocument, newLinks)
+    updateScriptTags(@activeDocument, newScripts, successCallback)
 
 extractTrackedAssets = (doc) ->
   [].slice.call(doc.querySelectorAll('[data-turbolinks-track]'))

      triggerEvent("page:#{name}-error", event) if event.type == 'error'
      newNode.removeEventListener('load', onAssetEvent)
      newNode.removeEventListener('error', onAssetEvent)
      done()
    newNode.addEventListener('load', onAssetEvent)
    newNode.addEventListener('error', onAssetEvent)
    activeDocument.head.appendChild(newNode)

      trackName != 'true'
    )

updateLinkTags = (activeDocument, newLinks) ->
  # style tag load events don't work in all browsers
  # as such we just hope they load ¯\_(ツ)_/¯
  newLinks.forEach((linkNode) -> insertLinkTask(activeDocument, linkNode)())

updateScriptTags = (activeDocument, newScripts, callback) ->
  asyncSeries(
