Responsibilities of a Recipe
We make the recipe itself into an active data structure. It maintains
information, but also performs tasks.
Maintains the list of ingredients and transformation algorithm.
Must know how to edit these data values.
Must know how to interactively display itself on the output device.
Must know how to print itself.
We will add other actions later (ability to scale itself, produce integrate
ingredients into a grocery list, and so on).
Intro OOP, Chapter 3, Slide 17