To take it a bit further playing with dynamic class names and dynamic inheritance, when using babel you can just do something like this:
function withname(name, _parent) {
return class MyDinamicallyNamedClass extends (_parent||Object) {
static get name() { return name || _parent.name }
}
}