Detecting when table value changed

I have module script with player states but instead of checking each heartbeat all states and doing things from different scripts, I wanna check in each script states, only if some of them changed. I tried __newindex but if you setting metatable from different scripts, they’re starting to conflict with each other.