I assume `self.nextInternallyAssignedNodeID += 1` should go after each `destID = NodeID(self.nextInternallyAssignedNodeID)`?