separate menu creation from the module they control