Simplified TR API by treating the particles as an implementation detail and only exposing the QuerySpecification.

The slight performance hit should be worth it.