         return NSNotificationCenter.defaultCenter()
     }
     
-    // MARK: Initalization
-    
-    /**
-    Create a notification instance using the observer. Observer is responsed to hold that instance. In normal case, you don't have to call this method manually.
-    
-    - parameter observer: The observer of the notification. It will be weak referenced by that instance.
-    
-    - returns: An initalized instance
+    // MARK: Initialization
+    
+    /**
+    Create a notification instance using the observer. Observer is responded for hold that instance. In normal cases, 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

private var notificationControllerAssociationKey: UInt8 = 17

public extension NSObject {
    /// A lazy initalized NotificationController isntance for NSObject and it's subclass
    var notificationController: NotificationController! {
        get {
            var controller = objc_getAssociatedObject(self, &notificationControllerAssociationKey) as? NotificationController

    /**
     The method used to redistribute notification to the real observer. This method is marked `private` instead of `public` because the language limitation.
     
     - parameter notification: Received notification.
     */
    public func notificationReceived(notification: NSNotification) {
        let name = notification.name
