My way to refactor code with SRP by create abstract class