* Extracted TUserDetailsPersist from UUserDetails to new UUserDetailsPersist unit.
* Modified TUserDetailsPersist so that it no longer updates TUserDetails fields directly but treats the record as immutable.
* Modified code that uses TUserDetailsPersist to use new unit.