Would this work in your setup? local game_wrapper_mt = { __index = function (t,k) local f = game[k] return function(self, ...) return f(game, ...) end end, } -- Gé