refactored product class to create a product factory and ensured container
knew which type of product was added or removed, and in case of error told the user which product holder was full or empty