@Test
public void removeListenerTest() {

  AsyncProperty<String> asyncProperty = new AsyncProperty<>();
  CompletableFuture<Boolean> listenerFired = new CompletableFuture<>();
  ChangeListener<String> listener = (observable, oldValue, newValue) -> listenerFired.complete(true);
  asyncProperty.addListener(listener);
  asyncProperty.removeListener(listener);
  asyncProperty.set("Value");
  WaitForAsyncUtils.waitForFxEvents();
  assertThrows(TimeoutException.class, () -> listenerFired.get(1, TimeUnit.SECONDS));
}