class AtomixLeaderElector extends AbstractResource<AtomixLeaderElector> implements AsyncLeaderElector {

    @Override
    public CompletableFuture<Leadership> run(String topic, NodeId nodeId) {
        return client.submit(new Run(topic, nodeId)).whenComplete((r, e) -> cache.invalidate(topic));
    }

    public  AtomixLeaderElector(CopycatClient client, Properties properties);

}