Usando el mismo controlador para todas las operaciones CRUD (Rails-alike)

Tengo un controlador angular que recupera un recurso en la creación:

angular.module('adminApp')
  .controller('PropertiesCtrl', function ($log, $scope, Property, $location) {
    $scope.properties = Property.query()  
  });

Ahora quiero agregar lógica al controlador para poder crear un recurso de "Propiedad":

angular.module('adminApp')
  .controller('PropertiesCtrl', function ($log, $scope, Property, $location) {
    $scope.properties = Property.query()  
    $scope.create = function(){
      //logic to create
    };
  });

Sin embargo, cuando estoy en el formulario para crear una "Propiedad", se realiza una llamada innecesaria para obtener todas las propiedades primero. ¿Cómo evito esto?

¿Soluciones potenciales?

Podría crear un controlador separado específicamente para la creación de la Propiedad que no obtendría las propiedades. Sin embargo, sería más sencillo encapsular todas las operaciones de CRUD para un solo recurso bajo un solo controlador.Podría crear una función para obtener todas las propiedades. Sin embargo, mi página de índice usa "propiedades" directamente. Primero necesitaría buscar los datos llamando a algún método y luego usar los datos (¿de alguna manera?)

Respuestas a la pregunta(3)

Su respuesta a la pregunta