Refactor/product query builder registry

we have an interface now :tada: