export default class Library {
  constructor() {
    this._name = 'Library';
  }
  get name() {
    return this._name;
  }
}

@@ -18,40 +18,714 @@
 ass 
-Library %7B%0A  constructor(
+EasyLog %7B%0A  constructor(level) %7B%0A    // Logging levels:%0A    this.LOG = %7B%0A      INFO: 4,%0A      DEBUG: 3,%0A      WARN: 2,%0A      ERROR: 1,%0A      DISABLED: 0%0A    %7D;%0A    this.setLevel(level);%0A  %7D%0A%0A  getLevel() %7B%0A    return this.level;%0A  %7D%0A%0A  setLevel(level = this.LOG.INFO) %7B%0A    if (typeof level !== 'number') %7B%0A      throw new Error(%60SetLevel method expected a Number as argument but got $%7Btypeof level%7D instead%60);%0A    %7D%0A    this.level = level;%0A  %7D%0A%0A  getConsole(method) %7B%0A    return console%5Bmethod%5D ? console%5Bmethod%5D : console.log;%0A  %7D%0A%0A  shouldLog(logLevel) %7B%0A    return this.level %3E 0 && this.level %3C= logLevel;%0A  %7D%0A%0A  beautify(value) %7B%0A    return JSON.stringify(value, null, 2);%0A  %7D%0A%0A  info(message
 ) %7B%0A    
 this
@@ -724,73 +724,640 @@
     
+if (
 this.
-_name = 'Library'
+shouldLog(this.LOG.INFO)) %7B%0A      const console = this.getConsole('info');%0A      console(%60INFO: $%7Bmessage%7D%60);%0A    %7D%0A  %7D%0A%0A  debug(message) %7B%0A    if (this.shouldLog(this.LOG.DEBUG)) %7B%0A      const console = this.getConsole('log'); // Yeah, stupid AF, but for consistency...%0A      console(%60DEBUG: $%7Bmessage%7D%60)
 ;%0A
+  
   %7D%0A  
-get name() %7B%0A    return this._name;
+%7D%0A%0A  warn(message) %7B%0A    if (this.shouldLog(this.LOG.WARN)) %7B%0A      const console = this.getConsole('warn');%0A      console(%60WARNING: $%7Bmessage%7D%60);%0A    %7D%0A  %7D%0A%0A  error(message) %7B%0A    if (this.shouldLog(this.LOG.ERROR)) %7B%0A      const console = this.getConsole('error');%0A      console(%60ERROR: $%7Bmessage%7D%60);%0A    %7D
 %0A  %7D

Implement basic version of EasyLog