Refactor to use ICatalog interface to better illustrate extension point
for alternative product inventories