ну и методы часто меняют внутреннее состояние знаешь ли
если ты не морочишься чистые функции писать - то юнит тестирование вообще невозможно
Так, ну а суть в том, что за методом идёт изменение состояние. И какое это состояние? Внешнее по контракту, или внутреннее ?