$on(name: string, listener: Function) {
    if (!this.events[name]) {
      this.events[name] = new EventEmitter<any>();
    }