You may wonder why I chose to name all the PureMVC classes (but not the interfaces) with an MVC prepended (e.g., MVCMediator, MVCNotification).
PureMVC contains a couple of classes whose names conflict with classes in the
dart:html library. As a result, if you import both libraries, you can't compile.
To resolve the conflict, you must either ...
1) Avoid use of both libs in the same program.
(err, no.)2) Make developers prefix one of the libs on import and add to all class and interface uses in code.
(ugh. mvc.Notification or html.document everywhere, even for non-conflicting classnames.)3) Name your class something different. (grrr. MVCNotification instead of Notification.)
As much as I hate the wild west, claim-staking feel of number
3, I accepted the compromise. They owned Proxy and Notification because they got there first. But none of the interfaces (e.g., IMediator, INotification) were in conflict, so I left them as is.
I hope this will change in the future, here is a post on Google+ about the problem and why we need proper packaging in Dart.
https://plus.google.com/u/0/108661011132885730615/posts/GXn9GVExhpN-=Cliff>