“In the context of the Single Responsibility Principle (SRP) we define a responsibility to be “a reason for change.” If you can think of more than one motive for changing a class, then that class has more than one responsibility.”
— Bob Martin, The Principles of OOD
“A class should do the smallest possible useful thing; that is, it should have a single responsibility.”
— Sandi Metz, Practical Object-Oriented Design in Ruby