Add EVENT hook, and fixed KeyError issues with accessing the user-tracking dictionary
fix rate limiting on the geoip-on-join event. Convert more modules to new hook method.