Main idea: separate the business logic from the underlying dom structure and bind execution to structure separately.
Benefits:
- changes to DOM structure can be logically separated and execute from business logic changes
- business logic changes do not rely on DOM strcuture (stability of business logic)
- binding can be executed in any technology or mix of technologies
- tests can be implemented for important business logic more easily as it is not bound to DOM.