If I use AMD to require dialog, then it simply ignores stuff, I would not guess what's going on at all, unless we state that very clearly that user needs to load more stuff in order to dialog to work.

Previously, user had to load all dependencies. So, it would be more clear that he needed to load those optional ones or nothing. But, with AMD I expect a component to handle its own dependencies or at least let me know that I need to take action.