I have a character whose default token has a bar3_value specified. I need to operate on the token when it is added, based on this value. However, the "add:graphic" event seems to fire before the token is fully initialized. Is this expected behavior? And if so, what's the proper way to deal with this? I can see the bar3_value get initialized if I read the token again after a short delay, but this is obviously not a robust solution as the timing wouldn't be consistent. I could possibly add a "keep trying until the value shows up, with a sanity timeout to stop trying" hack, but that's pretty hokey. In the code below, I can see that "initial bar3" prints nothing, while "delayed bar3" prints out the actual value set on the default token. on("add:graphic", (token) => { if (token.get("_subtype") == "token" && token.get("represents") == lantern.id) { sendChat("Lantern", `initial bar3: ${token.get("bar3_value")}`, null, noArchive); setTimeout(() => { sendChat("Lantern", `delayed bar3: ${token.get("bar3_value")}`, null, noArchive); }, 100); } });