do local OldInstance = Instance Instance = {} local ObjFunctions = {} ObjFunctions.Edit = function(Object,Table) for i,v in pairs(Table)do Object[i] = v end end Instance.new = function(Type,Parent) local Object = OldInstance.new(Type,Parent or nil) local ObjectController = setmetatable({}, { __index = function(self, i) return ObjFunctions[i] or Object[i] end, __newindex = function(self, i, v) Object[i] = v end, __tostring = function(table) return Object.Name end }) return ObjectController end end Object = Instance.new("Part",workspace) Object:Edit{CFrame = CFrame.new(0,5,0)}