Perhaps a stupid question (don't know the code)...can "bad stuff" (NPEs etc.) happen if the user later calls e.g. `update` with a `null` target? If so, should there be some documentation for this method along the lines of "once you call this, don't expect X, Y or Z to work"...