Added some null and overflow checking.
Switched hook callback to use internal property.  That call still needs to be moved in for each event callback, not just the startup.  This should be handled when I break out some inline functions for each event class.