Actually I hate to say it, but after wrestling with this spec and query object all today, I think this new implementation is much less clear and harder to manage.

I'm very upset with both of these files right now and I really wish you could have left the existing structure and merged your work into it... everything is a shit-storm now and I hate it.

I'll get over it though... I just really think these two files are the worst part of this and desperately need refactoring. The query object has bugs, and every time I add a test to this spec file to try and solve them everything just gets more vague and unclear.

#rant-finished. Sorry about that.