I guess we'll also want to inherit from EventTarget if possible.