Product controller refactor