IMHO, we should always thrive for marching towards a cleaner/better/scalable architecture, while providing easy migration paths to existing deployments. Both are equally important, sacrificing one over the other would not be ideal. And one's point of view can change very quickly based on which side of the fence they are on 🙂