utils = require("oop/utils") class = { name = "MyClass", sayHello = function(self) print("Hello from " .. self.name) end } obj = utils.deepcopy(class) obj.name = "Carl" obj.sayHello(obj) -- Output: Hello from Carl