class DefaultKubeMembershipExecutor implements KubeMembershipExecutor {

    @Override
    public Mono<Void> removeMember(String memberId) {
        return KubeClientReactorAdapters.doUpdate(callbackHandler ->
                kubeCustomObjectClient.deleteNamespacedCustomObjectAsync(
                        KubeClusterMembershipModelConverters.CRD_GROUP,
                        KubeClusterMembershipModelConverters.CRD_VERSION,
                        namespace,
                        KubeClusterMembershipModelConverters.CRD_PLURAL_MEMBERS,
                        memberId,
                        0,
                        false,
                        null,
                        new V1DeleteOptionsBuilder().build(),
                        callbackHandler
                )
        ).ignoreElement().cast(Void.class);
    }

    public  DefaultKubeMembershipExecutor(ApiClient kubeApiClient,
                                         String namespace);

}