refactored the specs and the add_product_handler to have more smaller methods.