Вынес логику в объекты