When parts of the spec say pass "a copy of remote contexts" ... I don't think we're ever passing an actual copy, just a reference, so maybe we need to be sending full value copies so the remoteContexts collection doesn't get things added to it by mistake? Hmm, actually not sure if this is a problem or not?