Challenge system completely rewritten.