class RestfulEnclaveClient implements EnclaveClient {

    @Override
    public Service.Status status() {

        Future<Service.Status> outcome =
                executorService.submit(
                        () -> {
                            Response response = client.target(uri).path("ping").request().get();

                            if (response.getStatus() == 200) {
                                return Service.Status.STARTED;
                            }
                            return Service.Status.STOPPED;
                        });

        try {
            // TODO: 2 seconds is arguably a long time
            return outcome.get(2, TimeUnit.SECONDS);
        } catch (InterruptedException | ExecutionException | TimeoutException ex) {
            LOGGER.trace(null, ex);
            return Service.Status.STOPPED;
        }
    }

    public  RestfulEnclaveClient(Client client, URI uri);
    public  RestfulEnclaveClient(Client client, URI uri, ExecutorService executorService);

}