the engine i am talking about was a dream to me for longtime, it have several reasons because it dislike to have a huge code behind of my forms as well, they will never have a safe result most of times, you have to havea long debug process for each page as well you will have your best times over debuging a non perfect code developer (as most of form developers dont have a good knowledge over web design)
so, i tried many ways to do so, finally i find the best design, mvc is so far most advanced development architecture exists and for a web application, it will produce more efficient code in size and you will have a control over everything and you will have an easy way to develop javascript codes. but it is clear for most of developers we will have a raw component environment plus a non wysiwig environment, so, nothing goes rapid, development cost will muliply many times against webforms or php (which is also more costly than webforms) + you will need people have enough understanding over software architecture.
which way i choosed ? this were clear.
i was a delphi developer for over 14 years, since first versions of turbo pascal I continued this great development environment plus great language at it’s time,  in delphi as you remember you had to do few codes for database and db components had a proxy to connect to each other, you had a dataset or table which were connected to a connection and then a datasource utiltize this dataset to saticefy datar for editors, checkboxes, comboboes, list and grid and it done jobs based on a centralized db access architecture .so, we have something like this.
connection = > Datasets = > datasources = > Dbcomponents (edit,checkbox,combobox etc) in web , we need to receive data from a web server which is holding an application inside and there are no direct connection for clients, so, we might have a webservice or a json data provider for ajax applications, someway, ajax or web service are not good enough, later on i will describe why not!
for most of applications using from old way post back we had different ways to fill grids , edits and so on, they were disconnected to each other so, we had to do a code to connect them or we had some bad ways such as update panel (which i hate it  so much) to update editos from server side, in one word, to do a such of clear product with fast action and ajax action the cost will be so high just because you must to do  a lot of buggy custom codes plus, they will be dirty code and you know what i means if you work in a team environment.

MVC 3.00 Based ERP , interface is in persian langauge : 100% auto generated codes in background!

component set have a componentBase class (exactly constructor in javascript) which all other components should be inherited from it, also we hacan do ve an instance manager which will let you to seperate several copies of different pages using that (this is mostly automatic and will be done through compoonents in client or server side, each component will have a unique guid number + name + container, seperation of several instances of pages are guaranteed by Instances, and then you will have a dataset components starting with connection and then wlconnection which will let dataset to send or receive data via different protocols such as XML (webservices etc) , JSON or Weblights which is more efficient one because it will let server to control page controls and manage it without refresh , all of this send or receive action by default will be handled through a simple datasource path and also you will be able to seperate paths for writing / reading  / select and other actions, by default a dataadapter path will be used.
dataset are having their client side cache model, you will have also cached or non cached data storage in server side ( i named then full state and stateless connections) , you will never need to receive a data twice even if you go to new page or doing custom codes, first and second layer of cache are will be managed without developers custom code (no code needed but also you can customize this actions as well), this components are will receive or send data only when you request it then it means if you have 50000 records loaded and you need first five of them you will only receive first five records.
there are special types of datasets such as recursives (trees etc) which are using from a a provider as middlware but developrs will never be busy with coding for them, ofcourse they  can do their own customize code but normally this is not required to do such complex codes.