             @services.remove service
             @removeUnits service.get('units').filter (unit) =>
                 not @selectedUnits.get unit
-            @_returnResolved()
+            @_resolveImmediately()
 
         _search: (query) ->
             @selectedPosition.clear()

            @clearSearchResults()
            @selectedUnits.reset()
            @selectedPosition.wrap position
            @_returnResolved()

        clearSelectedEvent: ->
            @selectedEvents.set []

                home: =>
                    ""
            super options
            @route /^unit\/(.*?)$/, @renderUnit
            @route /^search\/(\?.*)/, @renderSearch

        _parseUrlQuery: (path) ->
            if path.match /^\?.*/
                keyValuePair = /([^=\/&?]+=[^=\/&?]+)/g
                keyValStrings = path.match keyValuePair
                _.object _(keyValStrings).map (s) => s.split '='
            else
                false

        _matchResourceUrl: (path) ->
            found = path.match /^([0-9]+)\/?$/
            if found
                id: found[1]
            else
                filters: @_parseUrlQuery path

        renderSearch: (path) ->
            parsedPath = @_matchResourceUrl path
            if parsedPath.filters?.q?
                @controller.search parsedPath.filters.q

        renderUnit: (path) ->
            parsedPath = @_matchResourceUrl path
            if 'id' of parsedPath
                @controller.selectUnitById parsedPath.id
            else if parsedPath.filters?.service?
                @controller.renderUnitsByServices parsedPath.filters.service

        _getFragment: (commandString, parameters) ->
            @fragmentFunctions[commandString]?()
