Atualizar variável do controlador em Atualizando variável de fábrica angular

Oi, eu tenho uma pergunta. Eu tenho um objeto como segue na minha fábrica

User: {
   EmailAddress: ""
}

sempre que faço uma chamada http, desejo atualizar esse User.EmailAddress com valor retornado. Qual é a melhor maneira de fazê-lo dentro da fábrica? para que, no nível do controlador, eu possa vincular meu $ scope.Email à variável de fábrica. Isto é o que estou fazendo agora

GetLogOnModel: function () {
    if ($location.path().indexOf("login") == 1) {
        var promise = $http.get(config.headers.url + "LogOn").then(function (response) {
            // The return value gets picked up by the then in the controller.
            User.EmailAddress=response.data.Email;
            return response.data
        });
        return promise;
        // Return the promise to the controller
    }
}

E no Controller

AccountFactory.GetLogOnModel().then(function (data) {
  $scope.logOnModel = data;
}, function (err) {
  console.log(err.reason);
  alert(err.reason);
});

questionAnswers(2)

yourAnswerToTheQuestion