If it's used only by the client, why does HeldBy need to be in the API at all? Just use annotations and resourceVersion-based optimistic concurrency.  In my experience, where there is a single blob of opaque data, people eventually want structured / key-value data instead: DNS TXT, "notes" and "description" strings, HeldBy (e.g., in Chubby, clients stuff various protobufs), ... 