A javascript custom events library