update todo
separate synchronization logic into room.js
update todo
separate sync concerns better