A feature-rich eventdispatcher class for JavaScript