It's the usual open source problem of building a protocol and neglecting the network that runs it... Imagine a perfectly coherent messaging protocol... what are the messages that are sent? Out of scope! Just use our protocol!