Refactor the code that receives packets so each packet is processed in its own function
Swapping with a node multiple hops away sort of works but needs tuning