How do I replay a particle emitter that loops Once in scenekit?

I have particle emitters that only play once, like say a Poof animation. The particlesystem plays once as expected as soon as it is added to a node. But once it has play, how do I play it again on demand?

The way I've been doing it is to add the particle system every time I want it to play. is this the right way? particlesystem.reset() doesn't start the life cycle back around.

my problem with adding the particle every time is I've had situations when the systems keep adding on. So I remove the system and then add it again which can get complicated when dealing with multiple systems on the same node.

anyway, is there another way?