Added some documentation, changed some ivar names so that the compiler can autogenerate properties for them. Also added the classes for events (no functionality yet though)