When req is send, add to the waiting Map an object with a list of all nodes to which te message was sent
Rebroadcasts are not supported, instead nodes exchange the information about peers on pings? Study peer-relay protocol
If rebroadcasts are to be supported, rebroadcasting node needs to send list of node it rebroadcasts to to the origin of the message to be stored kn the object
When res is received, the node that responded is marked in the object, and Observable event is emited
When all nodes in the object are marked, the observable is completed
The observable fails on timeout (or maybe on any/all res being error messages?)