Event objects

Closes #251 

- Made separate event objects for each payload so this wouldn't be a breaking change.
- Finally got around to documenting each payload response
- Removed some functions in /lib/system that weren't being used anywhere.