lazyField
Registers a lazy field on table: supplier is invoked only when Lua actually reads key, and the value is NOT cached on the table — every read calls the supplier fresh. Use for volatile mutable fields like health that scripts often don't touch on a given tick.
Multiple calls share a single __index metatable per table, so adding more lazy fields is cheap. Eagerly-set keys (via table.set("k", ...)) take precedence over the lazy supplier with the same name.