I agree, however, I wanted to get this in rather than cleaning this up right now. For example the VoteRepository and the Cookie Repository could be merged into a single VoteRepository with a HttpVoteRepository that takes another IVoteRepository passes the calls through but manages the cookie.