Adds a basic dispatcher for internal events.

- Adds a basic dispatcher with Register/Unregister and a callback
  tracking list. Still needs reflection and interface upgrading for more
  useful callbacks.