Improve slug algorithm
Extract voting logic to Voteable module