refactor and add support for live updates of user data across sessions