SOLID refactoring exercise | Dark Hacker News