more idiomatic (go lint)

* don't use ALL_CAPS in Go names, use CamelCase
* ID is pronounced I.D.
* comments on exported identifiers
I'm not sure if we really need this and `EventFlagNone`? The name clash is unfortunate, and I don't really want to prefix every flag this way.