That's a neat idea and a cleaner design. I'm not convinced though that adding dozens of registration callbacks is faster than iterating over the whole DOM.