class Appium::Support::EventFiringBridge

def create_element(ref)

def create_element(ref)
  ::Appium::Core::Element.new @delegate, ref
end

def driver

def driver
  # To not gives the listener
  @appium_options.delete(:listener)
  @driver ||= ::Appium::Core::Base::Driver.new(bridge: self, listener: nil, **@appium_options)
end

def find_element_by(how, what, parent = nil)

def find_element_by(how, what, parent = nil)
  e = dispatch(:find, how, what, driver) do
    @delegate.find_element_by how, what, parent
  end
  ::Appium::Core::Element.new self, e.ref.last
end

def find_elements_by(how, what, parent = nil)

def find_elements_by(how, what, parent = nil)
  es = dispatch(:find, how, what, driver) do
    @delegate.find_elements_by(how, what, parent)
  end
  es.map { |e| ::Appium::Core::Element.new self, e.ref.last }
end

def initialize(delegate, listener, **opts)

def initialize(delegate, listener, **opts)
  @appium_options = opts
  super(delegate, listener)
end