Refactored the axes module to split it in smaller chunks.