There's a memory leak here but for the life of me I can't figure out where.   None of my changes look like they should have caused this but that always seems to be the case.  Nothing like watching time go bye while you wish you were working on other things as you try to trace down and disconnect circular references.  Bleagh.

Double bleagh.

Smart pointers fail me
I am rendered impotent
Accursed language