The reason why signal is so popular is easy and reliable asynchronous comms. I don't believe you can achieve this with a p2p stack. At least with a signal-level ux.