The composing class must set new_guid to the method used to generate a new GUID.
It can also set it to undef,
in which case the user is required to set it,
or a runtime error will be thrown.
It can be: