         }
 
         context("for an object property") {
-          it("is updated correctly") { () -> Promise<Void> in
+          it("is updated correctly") {
             let windowElement = TestWindowElement(forApp: appElement)
             appElement.windows.append(windowElement)
             windowElement.attrs[.Main]    = false

              observer.emit(.MainWindowChanged, forElement: windowElement)
            }

            return initializeApp().then { appDelegate -> () in
              let app = Swindler.Application(delegate: appDelegate)
              expect(app.mainWindow.value).toEventuallyNot(beNil())
            }
          }
        }


              appElement.attrs[.MainWindow] = windowElement
            }

            // There's a problem with intermittent failures when wrapping an eventually expectation
            // inside waitUntil, so we have to do this. Currently only affects object properties.
            var app: Swindler.Application!
            waitUntil { done in initializeApp().then { appDelegate -> () in
              app = Swindler.Application(delegate: appDelegate)
              done()
            } }
            expect(app.mainWindow.value).toEventuallyNot(beNil())
          }
        }

