Right now EventLogging uses static calls (i.e. mw.eventLog.logEvent() instead of var logger = mw.eventLog.create(); logger.log(). This is a bad practice, in part because it makes testing harder (not that much of a problem in Javascript where "static" is not a language, worse in PHP), in part because there is no way to attach state so the only way to add information to the logged data is by adding more parameters. This makes changes such as T67500 or T87459 awkward.
There should be a way to create EventLogging instances, mw.eventLog should be an instance with default properties, and there should be an easy way to get a clone that instance so that its properties can be changed.