Decoupling Unit & Date instantiation from Ingredient

Dependency injection:
Move the creation of instances outside of a class. That way the class
doesn't need to know anything about the other class (it's name, how to
create it, etc.) just that it responds to certain messages.