Factor out Votable so we can reuse it for all votable items