Finally got this javascript toy in a playable state (it is sort of like a candy box in the world of fleen , except not as deep and complex as candy box) after a couple weeks of sporadic and very tangent-ful tinkering. I think I rather like reactjs after all. Thinking of the dom in "immediate mode" as opposed to "retained mode" is a pretty easy mental shift. I tend to think that way for stuff inside canvas tags anyway (even though they are retained), so it's pretty natural to just apply that mindset to the whole dom.