Major refactor completed. All modules decoupled from core module. Tests require refactor