Если честно, нет способа ответить на это, не зная больше о программе. Похоже, «DoThisStepFirst» - это своего рода инициализация; заманчиво думать о
DoThisStepFirst();
Method1(); // and so on
и так далее, но, похоже, каждый метод нуждается в инициализации. Тогда возникает вопрос: «Почему каждый метод находится в состоянии, требующем повторной инициализации?»
Идя в другом направлении, вы можете представить программы, в которых вы действительно должны выполнить некоторую инициализацию перед каждым шагом, и это та же самая инициализация, и в этом случае вы довольно хорошо застряли.