         }, completionHandler: { _ in
             observable = self.coreDataStack.mainThreadContext.find(observable).value()
 
-            let observer = ManagedObjectObserver(observeObject: observable as Employee, inContext: self.coreDataStack.mainThreadContext)
-            observer.subscribe { observedAction in
+            observer = ManagedObjectObserver(observeObject: observable as Employee, inContext: self.coreDataStack.mainThreadContext)
+            observer?.subscribe { observedAction in
                 XCTAssertEqual(observedAction.value()!.name, "Dana J. Scott", "Unexpected name")
                 calledExpectation.fulfill()
             }

    func testSubscribersCalled() {
        let calledExpectation = expectationWithDescription("Subscriber not called")

        var observable: Employee!

        coreDataStack.performBlockOnBackgroundContext({ context in

    func testSubscribersCalledWithObjectOnRootContext() {
        let calledExpectation = expectationWithDescription("Subscriber not called")

        var observer: ManagedObjectObserver<Employee>?
        var observable: Employee!

        coreDataStack.performBlockOnBackgroundContext({ context in
