Mejoramos el flujo de los modificadores

cambiamos interface Modificador por una abstract class.
Dentro de los modificadores abstraimos los atributos obligatorios y
opcionales.
y tomamos mate xD