GCD will guarantee that your singleton only gets instantiated once, even if called from multiple threads. Insert this into any class for a singleton instance called shared.
+ (instancetype)shared {
// Variable that will point to the singleton instance. The `static`
// modifier makes it ...