     let object: AnyObject?
     var isObserving = false
     
-    init(notificationName: String, object: AnyObject? = nil, callback: (NSNotification) -> Void)
+    init(notificationName: String, object: AnyObject? = nil, startWatching: Bool, callback: (NSNotification) -> Void)
     {
         self.notificationName = notificationName
         self.object = object
         self.callback = callback
 
-        startObserving()
+        if startWatching {
+            startObserving()
+        }
     }
     
     deinit {


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

{
    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)
        }
    }
