Moved product methods out into its own class. REOL-29