Computational State Transfer: An Architectural Style For Decentralized Systems