No surprises here, this is a vanilla Preact implementation. Code almost identical to my React ES6 class solution.
ES6 class