Moved lots of stuff around.

Added in Timer to initEvents() and changed it to use .on().
More comments!