Add playerStateChange callback