I’ve been extending WP_Query for custom post types a lot lately. I find that it cleans up the code nicely.