     }
 }
 
-/// The notification controller response for handing all the hard work of observe and unoberve notification. 
-/// The basic usage is rather similar to the official `NSNotificationCenter`
+/// The notification controller response for handing all the hard work of observe and unoberve notifications.
+/// The basic usage is rather similar to the official `NSNotification Center`
 public class NotificationController: NSObject {
     public typealias NotificationClosure = (NSNotification!) -> Void
     

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

private var notificationControllerAssociationKey: UInt8 = 17

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