code: function(opt) {
      if (!opt)  {
          console.log("generating random id");
          this.id = uuid();
      } else if (!opt.hasOwnProperty('id')) {
          console.log("generating random id..");
          this.id = uuid();
      } else if (!opt.id) {
          console.log("generating random id..");
          this.id = uuid();
      } else {
          this.id = opt.id;
      }
  
      //console.log('this is core constructor');
  
      this.emitter = new events.EventEmitter();
  }
docs: /* Base Class, provide id generator and eventEmitter