Refactoring

Un refactoring algo severo:

- Eliminar tipos ToValue, InValue, ByValue y usar una clase Position con un enum interno
- Eliminar constantes de status y usar un enum con los distintos estados
- Renombrar algunos métodos para ilustrar mejor su propósito
- Nombres de tipos en mayúscula siempre; métodos y parámetros en minúscula siempre.