Subclassable Objective-C singleton