NanoStats2 = AceLibrary("AceAddon-2.0"):new("AceCoreAddon-2.0") function NanoStats2:OnInitialize() self.super.OnInitialize(self) LoadAddon("Plugin 1") LoadAddon("Plugin 2") end function NanoStats2.modulePrototype:CalcAndDisplay() error("`CalcAndDisplay' not implemented", 2) end -- End core code -- -- -- Plugin 1 Plugin1 = NanoStats2:NewModule("Plugin1") function Plugin1:CalcAndDisplay() --[[ foo = foo + bar baz = foo / kek --]] end -- Plugin 2 Plugin2 = NanoStats2:NewModule("Plugin2") function Plugin2:CalcAndDisplay() --[[ foo = foo + bar baz = foo / kek --]] end -- Back to core code function NanoStats2:Update() for k,v in NanoStats2.modules do v:CalcAndDisplay() end end