         subscribeForPeekAndPopStateChanges(
             onPeekAndPopStateChange: { viewController, peekAndPopState in
                 callbackCounter += 1
+                expectation.fulfill()
                 
                 if callbackCounter == 2 {
                     XCTAssert(viewController === self.peekViewController)
                     XCTAssert(peekAndPopState == .cancelled)
-                    expectation.fulfill()
                 }
             }
         )

    func testPeekAndPopUtility_notifiesPeekAndPopStateObservers_ifPeekGetsInterruptedWithAnotherTransitionOnOnscreenRegisteredViewController() {
        // Given
        let expectation = self.expectation()
        
        bindSourceViewControllerToWindow()
        

    func testPeekAndPopUtility_notifiesPeekAndPopStateObservers_ifPeekGetsCommitedOnOnscreenRegisteredViewController() {
        // Given
        let expectation = self.expectation()
        expectation.expectedFulfillmentCount = 2
        
        bindSourceViewControllerToWindow()
        
