As I pointed it out in the comments here too, on destruct this approach here is suboptimal when there are many byte-level events registered on a page, as it removes them one-by-one. We might want to have an extra function that clears any/all events registered on a page and which talks to the driver to determine if this can be done in a single operation or not.