Design Patterns:
- Strategy Pattern: We didn't use the strategy pattern because there wasn't an instance where we needed to have an interface of interchangeable objects the behaved similarly.
- Adapter Pattern: We used the adapter pattern when interacting with the RecyclerViews.
- Observer Pattern: We didn't use the observer pattern because there wasn't an instance where we needed to have multiple objects all update because of a change from a single source. We did have times where we needed to update an object's state, but that was done with just a simple listener object.