//will do an action on all of the customers public void DoToAllCustomers(CustomerAction action) { foreach (Customer customer in _customers) { action.Invoke(customer); if (customer.Balance >= 1000000) { UnreasonableCustomerBalanceEventArgs args = new UnreasonableCustomerBalanceEventArgs(customer.Balance); OnUnreasonableCustomerBalance?.Invoke(customer, args); } } }