Rework how Query
type is defined and customized.
#175
+206
−241
Query
type is defined and customized.
#175