Más refactoring

Sigo cut-pasteando cosas y partiendo en subsistemas :D