title: Confused about Service vs Factory
body: <p>As I understand it, when inside a factory I return an object that gets injected into a controller. When inside a service I am dealing with the object using <code>this</code> and not returning anything. </p>
  
  <p>I was under the assumption that a service was <em>always a singleton</em>, and that a <strong>new factory object</strong> gets injected in every controller. However, as it turns out, a factory object is a singleton too?</p>
  
  <p>Example code to demonstrate:</p>
  
  <pre><code>var factories = angular.module('app.factories', []);
  var app = angular.module('app',  ['ngResource', 'app.factories']);
  
  factories.factory('User', function () {
    return {
      first: 'John',
      last: 'Doe'
    };
  });
  
  app.controller('ACtrl', function($scope, User) {
    $scope.user = User;
  });
  
  app.controller('BCtrl', function($scope, User) {
    $scope.user = User;
  });
  </code></pre>
  
  <p>When changing <code>user.first</code> in <code>ACtrl</code> it turns out that <code>user.first</code> in <code>BCtrl</code> is also changed, e.g. <code>User</code> is a singleton? </p>
  
  <p>My assumption was that a new instance was injected in a controller with a factory?</p>