Added IPacket interface. OOPey netcode is necessary for logging/feature flexibility.