Refactored Query with through: ... into ThroughQuery class