fix AbstractBrowser to avoid creating a new type on-the-fly
AbstractBrowser.new creates a new type for each instance, which renders the use of super() very clumsy
AbstractBrowser.new creates a new type for each instance, which renders the use of super() very clumsy