Cocoa is full of singletons. Is there a logical/conventional difference between when the Cocoa APIs use
NSSingletonObject *so = [NSSingletonObject defaultSingleton];
versus
NSSingletonObject *so = [NSSingletonObject sharedSingleton];
?
Not a huge thing, but I don't really see why sometimes one is used versus the other.