OOP Practice Help

If you don’t like inheritance, then you should use another type of OOP because metatable OOP is for inheritance.
C style OOP could also work, or you may use closures if you are paranoid :joy:
Metatable OOP is good if you need to store a lot of methods but is very bad when it comes to index speed.

In light version you dont need any of OOP becouse you are not storing anythink also i think its a recursive :skull:

Also its generally better to set metatable in the end of a constructor if you are going for metatable OOP:

local function Module.new()
local self = {}

return setmetatable(self,Module)
end