раз мы пользуемся готовыми компьютерами, и готовыми программами...
mvvm:
https://github.com/jorgebucaran/hyperapp
https://vuejs.org/
https://reactjs.org/
https://angular.io/
state management:
https://redux.js.org/
https://redux-saga.js.org/
https://mobx.js.org/
https://www.apollographql.com/
communication:
https://socket.io/
--
в твоей реализации, много тем не учтено, которые придется сделать самому... но и готовые библиотеки, надо изучать...