Pros:
   - You don't have to use the finicky instanceof operator
Cons:
   - Inheritance becomes more cumbersome