Use a different synchonization mechanism

dispatch_sync() was inapropriate for multiple instances and subclasses. Use a safer @synchronize mechanism instead.