IMHO penso si potrebbero rifattorizzare i metodi add... dei vari manager per fare in modo che ritornino un True o False, a seconda dell'esito dell'inserimento, in modo da evitare operazioni del tipo
check if the packet is known
if true
add the packet (the method also check if the packet is known)