Reorganización de código en distintos archivos de acuerdo a su lógica.

Signed-off-by: Sebastián J. Seba <ssebastianj@gmail.com>
Small fixes and improvements.

Signed-off-by: Sebastián J. Seba <ssebastianj@gmail.com>