Ensure that fetchUserInfo is called only once to reduce load on DotoService and also prevent inconsistent state.
[x] The pull request is complete according to the following criteria:
[x] Acceptance criteria have been met
[x] The documentation is kept up-to-date
[x] Comprehensive tests (if applicable) have been generated and all pass.
[x] The pull request describes the changes that have been made, and enough information is present in the description for any developer to understand what has changed
[x] Commits have been squashed (or will be on merge).
[x] The branch name is descriptive and follows the pull request title format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[x] The pull request title is of the following format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[x] The description uses github syntax to link to the issue. E,g Resolves se701g2/Doto#{Number}
[x] At least two reviewers assigned. One of which must be the assigner of the issue.
[x] If there are merge conflicts, run git rebase as opposed to git merge with master.
Ensure that fetchUserInfo is called only once to reduce load on DotoService and also prevent inconsistent state.