       reflectNewUrl url unless options.change? || options.keep? || options.flush?
       reflectRedirectedUrl()
       changePage doc, options
-      if showProgressBar
+      if options.showProgressBar
         progressBar?.done()
       manuallyTriggerHashChangeForFirefox()
-      onLoadFunction?()
+      options.onLoadFunction?()
       triggerEvent EVENTS.LOAD
     else
       progressBar?.done()
       document.location.href = crossOriginRedirect() or url.absolute
 
-  if progressBar and showProgressBar
+  if progressBar and options.showProgressBar
     xhr.onprogress = (event) =>
       percent = if event.lengthComputable
         event.loaded / event.total * 100

        existingNode.parentNode.replaceChild(targetNode, existingNode)
        if targetNode.nodeName == 'SCRIPT' && targetNode.getAttribute("data-turbolinks-eval") != "false"
          executeScriptTag(targetNode)

executeScriptTags = ->
  scripts = Array::slice.call document.body.querySelectorAll 'script:not([data-turbolinks-eval="false"])'

  triggerEvent EVENTS.UPDATE

findNodes = (body, selector) ->
  Array::slice.apply(body.querySelectorAll(selector))

findNodesMatchingKeys = (body, keys) ->
  matchingNodes = []
