Client-Side JavaScript Events a la Node.js