The CompletableFutures introduced in Java 8 provide a much more powerful API than the old-style Futures do. E.g. attaching callbacks would be much easier and elegant with a CompletableFuture.