Add ModuleFunction struct