docs: def decode(self, bytes):
          """Decodes the given bytes according to this AIT Command
          Definition.
          """
          opcode  = struct.unpack(">H", bytes[0:2])[0]
          nbytes  = struct.unpack("B",  bytes[2:3])[0]
          name   = None
          args   = []
  
          if opcode in self.opcodes:
              defn = self.opcodes[opcode]
              name = defn.name
              stop = 3
  
              for arg in defn.argdefns:
                  start = stop
                  stop  = start + arg.nbytes
                  if arg.fixed:
                      pass  # FIXME: Confirm fixed bytes are as expected?
                  else:
                      args.append(arg.decode(bytes[start:stop]))
  
          return self.create(name, *args)