app = { update = nil, stack = {}, push = function(func) table.insert(app.stack, app.update) app.update = func end, pop = function() if #app.stack > 0 then app.update = table.remove(app.stack) end end, }