Another workaround would be to dynamically generate EventEmitter as class descending from a given class, and then make a new class descend from the generated class:
function EventFactory(parent){
return class EventEmitter extends parent {
on(){}
off(){}
...
}
}
class A extends EventFactory(Map) {}
This seems to work in the current Chrome Canary with strong-mode flag, but personally I'd prefer to use a mixin instead of lengthening the prototype chain with extra classes.