It's rather lovely, IMHO. I'm revamping it to be more specifics-agnostic at the moment, which is how I discovered this issue. It still has lots of specific code for various challenge paths though which I'm hoping to eventually absorb into the larger algorithm.