A reactive programming toolkit for full-stack JavaScript webapps