I’m glad you mentioned using composition and extracting private methods into another class as one way of approaching this problem, as I think that can often be a useful technique. You make a very good point that it’s important to find the best solution to the problem at hand and that dogma doesn’t always lead to the best solution. Creating more classes and files and code leads to its own kind of complexity. As with most things in life, balance is key! Thanks for the post.