Implemented thottling, refatored Event and hooks a bit