Propuesta de Code Review y Refactor

Ya me dirás que tal lo he hecho!!
Lo romperemos en varios pasos para intentar NO romper los test