Programming a distributed system using shared objects | Synapse