Nearly complete refactor of product controller besides paramters related code