Use bson for serialization.
Do not ignore any module.
Compile module's children before compiling module.
Support compiling sources in other extensions.