Added docs and some events/listeners

Documented some classes' methods
Added event classes
Added listener classes
Overhauled some classes