 
 public class NotificationObjectWatcher<T>: NotificationWatcher
 {
-    public init(notificationName: String, object: AnyObject? = nil, callback: (NSNotification, T) -> Void)
+    public init(notificationName: String, object: AnyObject? = nil, startWatching: Bool = true, callback: (NSNotification, T) -> Void)
     {
-        super.init(notificationName: notificationName, object: object, callback: { notif in
+        super.init(notificationName: notificationName, object: object, startWatching: startWatching, callback: { notif in
             if let typedObj = notif.object as? T {
                 callback(notif, typedObj)
             }

    let object: AnyObject?
    var isObserving = false
    
    init(notificationName: String, object: AnyObject? = nil, callback: (NSNotification) -> Void)
    {
        self.notificationName = notificationName
        self.object = object
        self.callback = callback

        startObserving()
    }
    
    deinit {

{
    private let receiver: NotificationReceiver
    
    public init(notificationName: String, object: AnyObject? = nil, startWatching: Bool = true, callback: (NSNotification) -> Void)
    {
        self.receiver = NotificationReceiver(notificationName: notificationName, object: object, startWatching: startWatching) { notif in
            callback(notif)
        }
    }
