This version has some good stuff, aside using ES6 classes which was fun and -years later- still looks pretty readable to me. Some details in the new org created to own this repo.