update node3 api to support watchables