criar dinamicamente uma classe sem um espaço para nome

Estou tentando criar dinamicamente uma classe usando o método eval. Está funcionando bem, exceto por um pequeno problema. Como meu código mostra, estou criando a classe Browser dentro da classe BrowserFactory. Quando faço isso, a classe Browser possui um namespace adicionado de BrowserFactory. Existe alguma maneira de avaliar a classe Browser a partir de uma seqüência de caracteres sem o namespace BrowserFactory ser anexado?


class BrowserFactory
  def self.create_browser(browser)
    super_class = nil
    case browser
    when 'IE'
      require 'watir'
      super_class = 'Watir::IE'
    when 'celerity'
      require 'celerity'
      super_class = 'Celerity::Browser'
    end

    raise StandardError.new("Browser '#{browser}' is not currentlys supported") if super_class.nil?

    eval <<EOS
class Browser < #{super_class}
include Singleton
include BrowserModification
end
EOS

    return Browser.instance
  end

end

questionAnswers(3)

yourAnswerToTheQuestion