Refactoring -- splitting Single and Promote into submodules.