Implement nested namespacing

Refactor code into nested namespaces for global abatement and program
structure.