         updateFuture.onFailure {error in
             XCTAssert(false, "update onFailure called")
         }
-        waitForExpectationsWithTimeout(30) {error in
+        waitForExpectationsWithTimeout(2) {error in
             XCTAssertNil(error, "\(error)")
         }
     }

        future3.onSuccess {_ in
            onSuccessExpectation3.fulfill()
            XCTAssert(self.mockPerpheral.writeValueCalled, "writeValue not called")
            XCTAssertEqual(self.mockPerpheral.writeValueCount, 3)
            XCTAssert(self.mockPerpheral.writtenType == .WithResponse, "writtenType is invalid")
            if let data = self.mockPerpheral.writtenData {
                XCTAssertEqual(data, "cc".dataFromHexString())
            } else {

        future1.onSuccess {_ in
            onSuccessExpectation1.fulfill()
            XCTAssert(self.mockPerpheral.writeValueCalled, "writeValue not called")
            XCTAssertEqual(self.mockPerpheral.writeValueCount, 2, "writeValue not called 2 times")
            XCTAssertEqual(self.mockPerpheral.writtenType, .WithResponse, "writtenType is invalid")
            if let data = self.mockPerpheral.writtenData {
                XCTAssertEqual(data, "bb".dataFromHexString())
           } else {
