Mostly to group related functions and have the same order in the declaration and the implementation files. While here, replace an 'enum' with a strong enum since the type does not need to support arithmetic operations.