JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client