     }
 }
 
-/// The notification handler response for handing all the hard work of observe and unoberve notifications.
-/// The basic usage is rather similar to the official `NSNotification Center`
+/// The notification handler response for handing all the hard works of observe and unoberve notifications.
+/// The basic usage is rather similar than the official `NSNotificationCenter`
 public class NotificationHandler: NSObject {
     public typealias NotificationClosure = (NSNotification!) -> Void
     
     private weak var observer: NSObject!
     private var blockInfos = Set<NotificationInfo>()
     private var selectorInfos = Set<NotificationInfo>()
-    private var lock = OS_SPINLOCK_INIT
+    private var lock = pthread_mutex_t()
     
     private var DefaultCenter: NSNotificationCenter {
         return NSNotificationCenter.defaultCenter()

    // MARK: Initialization
    
    /**
    Create a notification handler instance using the observer. Observer is responded for hold that instance. Normally, you don't have to call this method manually.
    
    - parameter observer: The observer of the notification which will be weak referenced by that instance.
    
    - returns: An initialized instance
    */
    init (observer: NSObject) {
        self.observer = observer
    }
    

    }
    
    /**
     The method used to redistribute notification to the real observer. This method is marked `public` instead of `private` because the language limitation.
     
     - parameter notification: Received notification.
     */
    public func notificationReceived(notification: NSNotification) {
        let name = notification.name
        for info in selectorInfos where info.selector != nil {
            if name == info.name && info.observer.respondsToSelector(info.selector!) {
                info.observer.performSelector(info.selector!, withObject: notification)
            }
