Runtests refactoring: part II

Сократил число экземпляров класса, убрал методы, изменяющие его состояние, переписал часть функций для большей читаемости. 
Мне кажется, это может быть полезной фичей, просто мы еще не придумали кейсов, где её нужно заюзать.