Modificación a los Builder con las DI y los test.
Agregado de una capa más de abstracción
Modificación de las dependencias en los builder y en el main
Modificación de las capacidades y se paso la creación de los objetos
para que no se puedan modificar