private bool TryStartCommunication()
        {
            var success = false;

            logger.Info("Client has been successfully started and initialized. Creating communication proxy for client host...");
            ClientProxy = proxyFactory.CreateClientProxy(Context.Next.AppConfig.ClientAddress, Interlocutor.Runtime);

            if (ClientProxy.Connect(Context.Next.ClientAuthenticationToken))
            {
                logger.Info("Connection with client has been established. Requesting authentication...");

                var communication = ClientProxy.RequestAuthentication();
                var response      = communication.Value;

                success = communication.Success && ClientProcess.Id == response?.ProcessId;

                if (success)
                {
                    logger.Info("Authentication of client has been successful, client is ready to operate.");
                }
                else
                {
                    logger.Error("Failed to verify client integrity!");
                }
            }
            else
            {
                logger.Error("Failed to connect to client!");
            }

            return(success);
        }