My take on custom JavaScript Events