pub trait ModuleReader {
// Required methods
fn load_module_source(&self, relative_path: &str) -> Option<String>;
fn push_module_path(&mut self, path: &str);
fn pop_module_path(&mut self);
fn compose_path(&self, relative_path: &str) -> String;
}