Fix re-register when using the same token. Handle edge cases when change token for a resource. Only set observer and resource on initial registration. Discuss re-registration in documentation.