Very cool. Don't take this as criticism, I am just curious, what do you get out of React with this?
You have written a lot of it in pure JS so I can see you're not using it as a crutch, but I am not familiar enough with React at it's edges to know why you would bring it in to the toolbelt here.