The creation of new packets is now refactored into a PacketFactory