Core logic for a java implementation of the Dominion card game