Only add the public principal to the annotation

We now wait until the annotation has been created and apply the principal to the read array rather than overwriting the entire object.