Seems "immutability" is all the rage and fashion these days, so Object.observe() has been removed from the ES7 spec and they are planning on removing it from Chrome.

I remain unconvinced by immutability. I rather see it as a garbage-collection nightmare just as big as the possibility of forgetting to remove observers before 'forgetting' about an object. With immutability, you now have to track every single object that happens to have a copy of your object, and if you don't, two parts of your app are going to be painfully out of whack.

The justification that one can just 'observe the input' is outright stupid, as it presumes that only user input is the reason any object changes (tried making a clock sometime?). In a complex app, things change from a wide variety of sources.

And I certainly never believed performance was an issue. But I'm stuck for now.

Meanwhile, either dirty-checking (observe-js) or back to the curse of what should have been unnecessary setter-getters.

SubFire is not likely to change too heavily. I haven't decided if I'm sticking with observe-js or looking for something else for my next personal project.

Mind you, this seems to result from the fact that many JS developers are coming from windows development practices, and I've already read an essay saying that react/flux basically is windows/.net in a browser. Me, I came from Java/Swing, and got much more used to property change event handling from JavaBeans. That I could get that level of handling without all of the heavyweight crap from Bootstrap and Angular (and Ember/Sproutcore) made me very happy.

Once again, kids who grew up on Windows and simply don't realize there was always something better out there are infecting the rest of the world with Windows. I will not go quietly.