public boolean pickAndExecuteAnAction() {
		if (!marketBills.isEmpty()){
			for (Market market : marketBills.keySet()){
				ProcessMarketBill(market, marketBills.get(market));
				marketBills.remove(market);
				return true;
			}
		}
		for(Bill bill : bills.values()){
			if(bill.state == BillState.pendingCustomer){
				ComputeChange(bill);
				return true;
			}
		}
		for(Bill bill : bills.values()){
			if(bill.state == BillState.pendingWaiter){
				SendBill(bill);
				return true;
			}
		}
		return false;
	}