Added A hole Bunch of stuff, Added pointer support for the reflection and
finished the event interface