protected bool Payment(Dictionary <CoinType, int> coins)
 {
     return(PaymentRequest?.Invoke(coins) ?? false);
 }