       query = 'foo=bar'
 
       routeB = create route1, {path, query}
-      mediator.publish 'router:match', routeB, params, options
+      publishMatch routeB, params, options
 
       loadTest1Controller ->
         expect(spy).was.calledOnce()
-        args = spy.firstCall.args
-        expect(args[0]).to.be "#{path}?#{query}"
-        expect(args[1]).to.eql addedOptions
+        [passedPath, passedOptions]  = spy.firstCall.args
+        expect(passedPath).to.be "#{path}?#{query}"
+        expect(passedOptions).to.eql stdOptions
 
         mediator.unsubscribe '!router:changeURL', spy
 


        for i in [0..1]
          for spy in [initialize, action]
            args = spy.args[i]
            expect(args[0]).to.eql paramsStore[i]
            expectedOptions = create optionsStore[i], {
              changeURL: true
              forceStartup: false
            }
            expect(args[1].controller).to.eql route1.controller
            expect(args[1].action).to.eql route1.action
            if i isnt 0
              expect(args[1].previous.controller).to.eql 'test1'
            expect(args[2]).to.eql expectedOptions

        initialize.restore()
        action.restore()

      initialize = sinon.spy proto, 'initialize'
      action     = sinon.spy proto, 'show'

      paramsStore = []
      optionsStore = []

      for i in [0..1]
        refreshParams()
        paramsStore.push params
        optionsStore.push options
        publishMatch route1, params, options

      loadTest1Controller ->
        expect(initialize).was.calledTwice()
