In a collaborative session users may join and leave. A user who joins a session is called a latecomer. A latecomer needs the current state of the collaborative session to participate in the session. There exist different approaches to accommodate a latecomer. The runtime system can, e.g., transfer the state to the latecomer or replay how the session state was reached. If the state is maintained on a well-known server, it is quite simple to supply the latecomer with the current state. However, if the server is not available, the latecomer cannot join. To increase the fault-tolerance, the runtime system has to use a decentralized approach. In this case, race conditions must be taken into account. DreamObjects is a platform that simplifies the development of shared data objects. It supports a direct state transfer as well as a replay and lets a latecomer choose how to join a session. Both approaches are completely integrated in the runtime system, work completely decentralized, and do n...