class Subject { constructor() { this.observers = []; } add(observer) { this.observers.push(observer); } remove(observer) { this.observers = this.observers.filter((iO) => iO !== observer); } notify(...args) { this.observers.forEach((f) => f(...args)); } } module.exports.Subject = Subject;