Добавил абстрактный объект и функциональность аттрибутов вынес в модуль