def prompt(prompt, default = nil)
      Readline.completion_append_character = nil
      Readline.completion_proc = Proc.new do |str|
        Dir[str + '*'].grep( /^#{ Regexp.escape(str) }/ )
      end

      p = "# #{ prompt }#{ default.nil? ? ':' : " [default: #{ default }]:" } "
      r = ''
      choice = Readline.readline(p.cyan)
      if choice.nil? || choice.empty?
        r = default
      else
        r = choice
      end

      @targets.each { |_, t| t.prompt("Answer to '#{ prompt }': #{ r }") }
      r
    end
def prompt(prompt, default = nil)
      Readline.completion_append_character = nil
      Readline.completion_proc = Proc.new do |str|
        Dir[str + '*'].grep( /^#{ Regexp.escape(str) }/ )
      end

      p = "# #{ prompt }#{ default.nil? ? ':' : " [default: #{ default }]:" } "
      r = ''
      choice = Readline.readline(p.cyan)
      if choice.nil? || choice.empty?
        r = default
      else
        r = choice
      end

      @targets.each { |_, t| t.prompt("Answer to '#{ prompt }': #{ r }") }
      r
    end
Initializes a new Messenger with an optional
 Hash of targets.
 @param [Hash] targets Logger targets
 Outputs a prompt, collects the user's response, and
 returns it.
 @param [String] prompt The prompt to output
 @param [String] default The default option
 @return [String]