I think one mistake people make is assuming that a major restructuring has to be done all at once. SE should be able to compartmentalize the areas and stage them into an Expac and dot releases. For example my understanding is one of the restrictions causing problems is that a large user data structure is passed across the network when a user is transferred across the various servers. The structure includes information that isn't needed by every function so is wasting bandwidth. Looking at this type of a problem and changing it to pass a user token that could be used to access a database for the specific information the function needs would free up network bandwidth. It would also make it easier to add new information as you wouldn't have to touch every piece of code that passes the existing structure around. Working in this fashion SE should be able to upgrade the platform and create new content with minimal impact.