Added some javadoc to the Event interface.
Reduced the visibility of some of the components.
Ensure the fields on EventStoreFactory are final.
Some more java doc