Clean up QueryMethod, add documentation, and document rationale