Added EventList and Encode() method.
Moved all event code to it's own sub package.