added start of event system
Completed first version of internal events
merged with github