localprofile_messagedolocalsessions={}functionprofile_message(message:Message)ifsessions[message]thenreturnnilendlocalold_callback=light.disconnect(message)ifnotold_callbackthenreturnnilendlocalcalls=0light.connect_sync(message,function(...)calls+=1old_callback(...)end)-- wrapping in a coroutine since session shouldn't be ended twicesessions[message]=coroutine.wrap(function()sessions[message]=nillight.disconnect(message)light.connect(message,old_callback)returntable.freeze({calls=calls})end)returnsessions[message]endend