An event delegation framework for the Prototype JavaScript library