I have hidden away most of the constructors for class X and have overridden and made private the assignment operator so that some damn fool line of existing code does not overwrite the contents of the cached pointer and destroy everyone. (Fools! I will destroy you all! Ask me how!)
But it is the most tedious sort of work and it takes forever.
Of course, everyone is waiting for me to finish it. :)