add websocket watcher to listen live document modifications. #6