     # toggle the results box on click
     toggleResults: (e) =>
       e.stopPropagation() # stop the event from bubbling up and the body click event catching it
+      @revertOtherInstances() # because the event isn't bubbling, other instances won't revert
       if @queryResultArea.is(':visible')
         @hideResults()
       else

    # show the results box on click
    openResults: (e) =>
      e.stopPropagation() # stop the event from bubbling up and the body click event catching it
      if @selectedChoice?
        @insertFilteredChoiceElements @oldQuery
      else

    args = Array.prototype.slice.call(arguments, 1)
    outputs = []
    @each ->
      if $.data(@, "plugin_" + pluginName)
        if options? and typeof options is 'string'
          plugin = $.data(@, "plugin_" + pluginName)
          method = options
          if method in plugin.publicMethods
            outputs.push plugin[method].apply plugin, args
          else
            throw new Error "#{pluginName} has no method '#{method}'"
      else
        outputs.push $.data @, "plugin_" + pluginName, new ImmyBox @, options

    return outputs

