Currently I’m trying to lock a metatable so that they cant set any of the current variables or add any. (I understand there is rawset and rawget to bypass this but this is just for more features) I expected __newindex to grab changing a variable inside that table but it doesn’t. Checking the API it clarifies this:
@Dandystan beat me to it. And if you want the data to be hidden, you could wrap all of that in a function and return just the interface object. That will make the object data table hidden (i.e. private)