Be cool if you had a factory for `upvote` and one for `downvote`.  But maybe that's just me