Naming conflicts are one and there are a lot of other considerations but one of the biggest concerns for me is it enables developers to do really dumb things like tightly couple modules, build bad APIs, etc.
Breaking things into modules as alex has suggested is the best way to develop your app. It forces you to think about how parts of your app will interact through public APIs without relying on global variables.
Back to the question...
If you have a shared Model.List, either Control can change that list.