Рефакторинг.
Добавлен абстрактный класс Tag от которого наследуются все тэги, добавлен класс Attributes содержащий в себе все атрибуты тэга.
Добавлены валидаторы некоторых атрибутов.
Код разбит на более мелкие методы для удобного переопределения поведения.