public Task <CommandResponse> Send(CommandMessage cmd) => Send <CommandResponse>(cmd);
public async Task <R> Send <R>(CommandMessage cmd) where R : CommandResponse, new() => await CommandsQueue.Enqueue(() => SendCommand <R>(cmd));
public Task <CommandResponse> Send(CommandMessage cmd) => Send <CommandResponse>(cmd);
public async Task <R> Send <R>(CommandMessage cmd) where R : CommandResponse, new() => await CommandsQueue.Enqueue(() => SendCommand <R>(cmd));