Move non-public modules into Internal namespace.
Implement "plain" interface.
Separate tests by module.