def METHOD_NAME(self, name: str, value, *extraArgs):
    '''Internal method used by subclasses to define new fields.'''
    if name in self.field_values:
        raise NameError(f'Field "{name}" is already defined')
    self.field_values[name] = value
    if INCLUDE_METADATA:
        self.field_order.append(name)
    if isinstance(value, UEBase) and not value.is_serialised:
        value.deserialise(*extraArgs)