Refactor business logic out of ProductController