É possível e em boa forma reutilizar a mesma fábrica de dados no Angular?

Eu estou olhando para a fábrica genérica da Angular para CRUD (que atualmente prefiro usar mais um serviço):

app.factory('dataFactory', ['$http', function ($http) {
    var urlBase = '/odata/ContentTypes';

    // The _object_ defined in the factory is returned to the caller, rather than as with a service,
    // where the _function_ defined in the service is returned to the caller
    var dataFactory = {};

    dataFactory.getContentTypes = function () {
        var contentTypes = $http.get(urlBase);

        return contentTypes;
    };

    dataFactory.getContentType = function (id) {
        return $http.get(urlBase + '/' + id);
    };

    dataFactory.insertContentType = function (contentType) {
        return $http.post(urlBase, contentType);
    };

    dataFactory.updateContentType = function (contentType) {
        return $http.put(urlBase + '/' + contentType.ID, contentType);
    }

    dataFactory.deleteContentType = function (id) {
        return $http.delete(urlBase + '/' + id);
    }


    // to traverse navigation properties
    //dataFactory.getUserFromContentTypeId = function (id) {
    //    return $http.get(urlBase + '/' + id + '/user');
    //}


    //dataFactory.getOrders = function (id) {
    //    return $http.get(urlBase + '/' + id + '/orders');
    //};


    return dataFactory;

}]);

Para todas as minhas entidades, esse código será aproximadamente o mesmo. É possível injetar o nome da entidade (ou caminho RESTful correspondente) e, nesse caso, isso pode ser tratado como uma classe parcial, onde, se forem necessárias promessas adicionais (como atravessar as propriedades de navegação), elas também podem ser injetadas?

Se isso é possível com o Angular, alguém pode postar alguns exemplos?

questionAnswers(1)

yourAnswerToTheQuestion