Общий рефакторинг.
Применение шаблона.