There is a lot of power in frameworks like Ember and Angular. You can use them to build data-driven applications with dynamic user experiences and a lot of responsive goodness that can make your site amazing. One of the core features of these frameworks is the idea of data-binding, which is a fancy way of saying your web-page changes based on the data it’s provided. This can be accomplished with **magic** or with these frameworks through data-binding. Since I flunked Hogwarts, but I do have experience working in Ember, I want to focus on what’s going on under the hood to make data-binding work, particularly in Ember. There is actually a lot going on, but a crucial feature is what Ember calls the run loop.