public async Task ExecuteAsync(CashOutCommand message, CancellationToken token)
        {
            var balance = await _userRepository.UserBalanceAsync(message.UserId, token);

            if (balance < 1000)
            {
                throw new InvalidOperationException("user doesn't have enough money");
            }

            var user = await _userRepository.LoadAsync(message.UserId, token);

            user.CashOutMoney(/*message.Amount*/);
            await _userRepository.UpdateAsync(user, token);
        }