Deep refactor to organize namespaces a bit better.