The Static Vs. Singleton question has been discussed before many times in SO.
However, all the answers pointed out the many advantages of a singleton.
My question is - what are the advantages of a static class over a singleton?
Why not simply choose a singleton every time?
if I have game states implemented as singletons (a bad example in real world, I know but let's just ignore that fact) it would be wise to be able to destroy the unused state if it's not used any more with it's current data