Why is there a Gator function when the only interface is `Gator(x).on(e, s, c)` and `Gator(x).off(e, s, c)`? Why not `Gator.on(x, e, s, c)` and rely on the caller to do partial function application (e.g. with `Function.prototype.bind`)? This seems like unnecessary memory bloat[1].
[1] https://github.com/ccampbell/gator/blob/0c8fafad45202c018706...