The model-view-presenter pattern is a very powerful way to manage user interaction. It seems popular to use it on the server-side when creating HTML, but why not use it client-side instead?
There is a simple REST service on the server that returns data which is called by the Model. No HTML generation occurs on the server.
Download the source code. You must have Script# installed as well.