Need help with metamethods

Hey guys!
I have a proxy table right now to know when something changed on my table!
Here it is;

local Template = {
	[1] = {
		Information = {ButtonName = 'Hairstyles'};
		Update = function(slotKey) 
			
		end;
	};
	[2] = {
		Information = {ButtonName = 'Hair Color'};
		Update = function(slotKey) 
			
		end;
	};
	[3] = {
		Information = {ButtonName = 'Skin Tones'};
		Update = function(slotKey) 
			
		end;
	};
	[5] = {
		Information = {ButtonName = 'Face'};
		Update = function(slotKey) 
					end;
	};
};

local Proxy = setmetatable({},{
	__index = function(self,i)
		print('__index')
		return Template[i]
	end;
	__newindex = function(self,i,v)
		print('__newindex')
		Template[i] = v;
	end,
	__len = function()
		print("__len")
		return #Template
	end,
})

return Proxy

But

When iterating Over the Returned Proxy like
for i,v in pairs(returnedProxy) do
end;
It is nil or, an empty tableā€¦ is there a way for I can iterate or get its values?

Obviously, without having to make a custom function ;p

Just solved it on my own, thanks :stuck_out_tongue: