rewrite intrusive User implementation to a non intrusive one using types::SecureString
declare the members in User as const and take out built in write protection from types::SecureString
resolve conflicts