From the detailed scenario you described maybe modularity is not "that" issue.
Here is how may I deal with this situation, since here you've multiple View States but not multiple views, specifically not multiple view models.
In this scenario the view itself can be represented with "just" an ItemsControl and a ViewModel which holds a list of the 100 movies.
It's your choice that are you lazy loading the movie details when a view state is first changed via a service or preload it with other movie data.
It's not clear from you description is that you're showing the different views in the same place or at different part of your application.
You can have a dedicated region within your view for toolbar which can contain anything, but I assume that you can't generalize here, because it's very dependent.
What is the purpose of the toolbar?
1. Show associated data for the given movie? Also provide some interaction (like submit a rating)?
2. Show commands available for that movie? (Rent, Play, etc)
3. Mix of 1 and 2?
For a rating scenario I'd make it part of the initial view model and maybe lazy loading the rating data via a service. This can be encapsulated into a RatingModule, but in this case not the view itself. You can put that into the RatingModule also, but in
choose the lifetime for the Rating (or ToolbaR) related stuff wisely to save resources!
So for your scenario I'd use different views but in form of DataTemplates.
Regarding the RegionManager usage I'd have a Toolbar module, which listens to "REGISTER_TOOLBAR_STUFF" event so if any module loaded which like to register something to be shown in the toolbar, it must publish this event along with the attached
"metadata" like icommand, displayname and other similar stuff.
The Toolbar module can register it's view into the RegionManager.
What do you think?