Changed `sharedInstance` type to `instancetype` for better autocomplete