TOAST UI has a good tutorial on how to build a 0.7KB Reactivity System Similar to Vue.

vue.js reactivity system

What Is A Reactivity System?

Given the ubiquity of the word “reactive” in the field of programming (functional reactive programming etc.) the system will be described to be a reactivity system. For the duration of this article, “reactivity” will refer to the way systems like Vue and MobX functions, and more specifically, to systems that automatically detect the state change of an object to modify the state of other objects that use the modified object, or automatically refreshing the related view of the object. In other words, it is a system that automatically does everything that previous event based systems had to do, including emitting events to signal stage change and registering listeners to detect those changes.