Could the `UserCanVote` check be moved elsewhere? It's a pain to have to check this in both conditions, which could otherwise be a simple `if..else` (rather than the more complicated `if..else if`).