Constructor.new=function(S,z)local m=newproxy(true)local r=getmetatable(m)for S,z in S do r[S]=z end r.__index=Index r.__newindex=NewIndex r.__public=z or{}return m,r end
-- Constructor
Constructor.new = function(data, public)
	local proxy = newproxy(true)
	local metatable = getmetatable(proxy)
	for index, value in data do
		metatable[index] = value
	end
	metatable.__index = Index
	metatable.__newindex = NewIndex
	metatable.__public = public or {}
	return proxy, metatable
end
