Does anyone know the details of the relationship between the embedded metadata in the audio files, and the Traktor NML collection file?

I'm writing a utility for tagging tracks in Traktor using data downloaded from Discogs, Beatport, and possibly other sites.

I've written the code to parse and edit the NML collection file, and it appears that any changes I make to the Track information there shows up in Traktor.

At any point does Traktor write these changes to the embedded audio file metadata? I could also have my app update the audio file, but I don't want to bother if Trakor does it for me.

Also does Traktor ever re-import meta data from the audio files? I'm worried that after my app updates the NML file Traktor at some point will reload the embedded metadata and overwrite my changes.

Btw, yes I know about TrainSpotter, but I'm also doing this as a chance to improve my programing skills.