Implemented more pieces of the challenge factory.