This layer tracks causal relationships between messages using vector-clocks. Causal delivery is provided by a separate layer (ORDER) that has to be layered over the CAUSAL layer. The ORDER layer can also be used to provide safe delivery of messages (messages that are known to be fully stable), if run over the STABLE layer). For brevity, the present paper did not experiment with the CAUSAL and ORDER layers, but their overhead relative to that of the NAK layer is known to be very small. The ORDER layer is largely inactive, just passing messages through, unless group members consume messages at very different rates (which is unusual in our experience).