In part 1, we developed code to implement an infrastructure that enables multiple trackers. In part 2, we will refactor our code based on SOLID principles to improve its design. SOLID principles consist of five guidelines that help developers create code that is easy to maintain, extend and test. These principles include: Single Responsibility Principle