'use strict';

module.exports = class Plugin {
    
    constructor(name) {
        this._name  = name;
    }
    
    /**
     * Add this plugin to the configuration object.
     */
    configure(config) {
        throw new Error("Must implement configure function");
    }
    
    /**
     * Getter for the plugin name
     */
    get name() { return this._name; }
    
};

@@ -8,16 +8,54 @@
 rict';%0A%0A
+const _plugin_name = Symbol('name');%0A%0A
 module.e
@@ -78,21 +78,17 @@
 lugin %7B%0A
-    
 %0A
+
     cons
@@ -115,22 +115,30 @@
     this
-.
+%5B_plugin
 _name
+%5D
   = name
@@ -137,37 +137,33 @@
   = name;%0A    %7D%0A
-    
 %0A
+
     /**%0A     * A
@@ -306,21 +306,17 @@
 ;%0A    %7D%0A
-    
 %0A
+
     /**%0A
@@ -389,22 +389,26 @@
 this
-.
+%5B_plugin
 _name
+%5D
 ; %7D%0A
-    
 %0A%7D;%0A

Convert to Symbol and getter