method2() и класс объекта $obj1 отнаследовать от абстрактного. Так не сломается остальной код, а класс будет просто дополнен.
Но, по большому счету, заморачиваться с классом-читателем и классом-писателем в этом учебном проекте смысла не вижу.
Да, задачу можно разбить на три разных класса.
Да, в реальном парсере объемы обработки могут не позволять такую архитектуру