https://stackoverflow.com/questions/44627709/new-self-equivalent-in-javascript static use(db) { return new this(db); }