Phase 3 of changes from feature/modules_integration

Is this extra indirection necessary, given the conversation yesterday?