Made a deeper distinction between running Update internally and running Update as a service.  This allows us to prevent updates of private or readonly fields.  Eventually readonly should be allowed for creation, but I'll deal with that later.