public boolean pickAndExecuteAnAction() {
		if(!paused) {
			synchronized(openChecks) {
				for(Check c : openChecks)
					if(c.state == CheckState.Created) {
						ComputeCheck(c);
						return true;
					}
			}
			synchronized(openChecks) {
				for(Check c : openChecks)
					if(c.state == CheckState.Paying) {
						MakeChange(c);
						return true;
					}
			}
			synchronized(openMarketChecks) {
				for(MarketCheck mc : openMarketChecks) {
					HandleMarketCheck(mc);
					return true;
				}
			}
		}
		return false;
	}