Per @TimDaub I’m bringing up caching here. With the current design, applications cannot safely cache anything about individual tokens because it is all mutable. Just because someone owned a given token 5 minutes ago doesn’t mean they still own it now, so you have to re-check. Similarly, just because the metadata about the token said X 5 minutes ago doesn’t mean it still says X, so you have to re-check.
If everything was immutable once set, applications and service providers would be able to aggressively cache everything and not have to worry about the source of truth changing out from under the cache.