[Detail] Class decomposition.
[Detail] Drop strange emplace constructor.

Also record conversion constructor is now explicit.
[Code Style] Indents.
[Documentation] Indents and tiny fixes.
[Detail] Tiny project configuration changes.