Outline top level accessors

Was comparing #2636 to the dependent PR thinking that I could change it and merge to master later, but I couldn't, so doing it here instead.

TBR - this is the same branch (except one added commit for changed comment) as #2636 which has LGTM