Why do we need error notification?
When we build systems, parts come pre-packaged – circuit boards, Java classes
Encapsulation means that we don’t want to know the details of how they are built.
However, the parts need to inform our systems about error situations so we can take appropriate actions