Fixed - I think - an issue where the challenge factory could get into an infinite loop while trying to generate challenges.