 private var notificationControllerAssociationKey: UInt8 = 17
 
 public extension NSObject {
-    /// A lazy initalized NotificationController isntance for NSObject and it's subclass
+    /// A lazy initialized `Notification Controller` instance 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: Reveived notification.
     */
    public func notificationReceived(notification: NSNotification) {
        let name = notification.name

    }
}

/// 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
    
