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

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

        var observable: Employee!

        coreDataStack.performBlockOnBackgroundContext({ context in

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

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

        coreDataStack.performBlockOnBackgroundContext({ context in
