Client side MVC framework