Thinking a little more about this... I think the better solution is for FileDialog::Create to take a ModuleEnvironment directly (and scoped_refptr it), rather than taking a ModuleImplBaseClass solely for its ModuleEnvironment.
If you agree, I'll cook up a CL to do that.
