A tiny extendable JS constructor for custom event listening. Use it in the browser or in node: