Further impartial (and unstable) change to object-based API