   on: (event, args...) ->
     @events.on event, args...
 
-  # Public: A wrapper around the EventEmitter API to make usage 
+  # Public: A wrapper around the EventEmitter API to make usage
   # semanticly better.
   #
   # event   - The event name.

  # Returns nothing.
  respond: (regex, callback) ->
    re = regex.toString().split('/')
    re.shift()           # remove empty first item
    modifiers = re.pop() # pop off modifiers

    if re[0] and re[0][0] is '^'
      @logger.warning "Anchors don't work well with respond, perhaps you want to use 'hear'"
      @logger.warning "The regex in question was #{regex.toString()}"

    pattern = re.join('/') # combine the pattern back again

    if @alias
      alias = @alias.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') # escape alias for regexp
      newRegex = new RegExp("^[@]?(?:#{alias}[:,]?|#{@name}[:,]?)\\s*(?:#{pattern})", modifiers)
    else
      newRegex = new RegExp("^[@]?#{@name}[:,]?\\s*(?:#{pattern})", modifiers)

    @listeners.push new TextListener(@, newRegex, callback)


    user = { room: room }
    @adapter.send user, strings...

  # Public: A wrapper around the EventEmitter API to make usage
  # semanticly better.
  #
  # event    - The event name.
