Very nice.
The best way to achieve these properties while maintaining flexibility is to have a robust cross-chain communication protocol and keep all new / changing features on separate chains.
Would also give you the ability to create contextual chains. To transfer the perspective of the chain away from transactions and towards the context in which we would like to see the data. You could also build a chain from links of chains. IPFS is the closest I've seen come to this.