Отделил логику от реализации