``TargetManager`` and ``TargetPool`` as pointers.

I suspect that the ``map[time.Duration]TargetPool`` was what was at fault with the lack of pool state being carried forward.