AddHandler now returns a func that can remove the handler. The handlers map is now guarded by its own mutex. Moved eventMap to events.go for readability. Improved documentation.