Split contribution permalink generation/validation into separate methods.