static void _signal_trampoline(PropertyMap &map, const std::string &k, LuaRef ref, lua_State *l) { ref.PushCopyToStack(); lua_pushlstring(l, k.c_str(), k.size()); map.PushLuaTable(); lua_pushvalue(l, -2); lua_rawget(l, -2); lua_remove(l, -2); pi_lua_protected_call(l, 2, 0); }