Improve readiblity and rais ArgumentError on missing product to query