BallotId is now a long, because there is no reason for it to be an int; Ballot and Vote now implement equals and hashCode