Index: src/main/webapp/application/engageConfig.json
===================================================================
--- src/main/webapp/application/engageConfig.json	(revision 9678)
+++ src/main/webapp/application/engageConfig.json	(working copy)
@@ -12,26 +12,26 @@
 sendMyCollectionURL: "http://www.mccord-museum.qc.ca/scripts/myCollectionHandler.php",
 
 initServices: [
-    "fluid.artifactView.initMarkupFeed", 
-    "fluid.artifactView.initDataFeed", 
-    "fluid.browseDemo.initBrowseDemo",
-    "fluid.browseDemo.initBrowseDataFeed",
+    "fluid.engage.artifactView.initMarkupFeed", 
+    "fluid.engage.artifactView.initDataFeed", 
+    "fluid.engage.browse.initMarkupFeed",
+    "fluid.engage.browse.initDataFeed",
+    "fluid.engage.catalogue.initMarkupFeed",
+    "fluid.engage.catalogue.initDataFeed",
+    "fluid.engage.catalogueBrowse.initMarkupFeed",
+    "fluid.engage.catalogueBrowse.initDataFeed",
+    "fluid.engage.codeEntry.initDataFeed",
+    "fluid.engage.codeEntry.initMarkupFeed",    
+    "fluid.engage.condenserInitialiser",
+    "fluid.engage.exhibitionAbout.initMarkupFeed",
+    "fluid.engage.exhibitionAbout.initDataFeed",
+    "fluid.engage.exhibitionView.initMarkupFeed",
+    "fluid.engage.exhibitionView.initDataFeed",    
     "fluid.kettleDemo.initCherryDemo",
-    "fluid.kettleDemo.initJSGIHandlerDemo",
-    "fluid.exhibitionService.initExhibitionViewService",
-    "fluid.exhibitionService.initExhibitionViewDataFeed",
-    "fluid.exhibitionService.initExhibitionAboutService",
-    "fluid.exhibitionService.initExhibitionAboutDataFeed",
-    "fluid.catalogueService.initCatalogueService",
-    "fluid.catalogueService.initCatalogueDataFeed",
-    "fluid.catalogueService.initBrowseCatalogueService",
-    "fluid.catalogueService.initBrowseCatalogueDataFeed",
-    "fluid.codeEntry.initCodeEntryDataFeed",
-    "fluid.codeEntry.initCodeEntryService",
-    "fluid.myCollection.initMyCollectionService",
-    "fluid.collectOperations.initAcceptor",
-    "fluid.engage.myCollection.initSendCollectionFeed",
-    "fluid.engage.condenserInitialiser"
+    "fluid.kettleDemo.initJSGIHandlerDemo",    
+    "fluid.engage.myCollection.initMarkupFeed",    
+    "fluid.engage.myCollection.setCollectionFeed",    
+    "fluid.engage.myCollection.sendCollectionFeed"
 ],
 condenserRewriterKey: "",
 bundledResources: [
@@ -82,10 +82,6 @@
         target: "fluid-engage-core/",
         source: "../../../../fluid-engage-core/"
         },
-    engageDemo: {
-        target: "engageDemo/",
-        source: "services/engageDemo/"
-      },
     kettleDemo: {
         target: "kettleDemo/",
         source: "services/kettleDemo/"
Index: src/main/webapp/application/engageStandaloneConfig.json
===================================================================
--- src/main/webapp/application/engageStandaloneConfig.json	(revision 9678)
+++ src/main/webapp/application/engageStandaloneConfig.json	(working copy)
@@ -12,24 +12,24 @@
 sendMyCollectionURL: "http://www.mccord-museum.qc.ca/scripts/myCollectionHandler.php",
 
 initServices: [
-    "fluid.artifactView.initMarkupFeed", 
-    "fluid.artifactView.initDataFeed", 
-    "fluid.browseDemo.initBrowseDemo",
-    "fluid.browseDemo.initBrowseDataFeed",
-    "fluid.exhibitionService.initExhibitionViewService",
-    "fluid.exhibitionService.initExhibitionViewDataFeed",
-    "fluid.exhibitionService.initExhibitionAboutService",
-    "fluid.exhibitionService.initExhibitionAboutDataFeed",
-    "fluid.catalogueService.initCatalogueService",
-    "fluid.catalogueService.initCatalogueDataFeed",
-    "fluid.catalogueService.initBrowseCatalogueService",
-    "fluid.catalogueService.initBrowseCatalogueDataFeed",
-    "fluid.codeEntry.initCodeEntryDataFeed",
-    "fluid.codeEntry.initCodeEntryService",
-    "fluid.myCollection.initMyCollectionService",
-    "fluid.collectOperations.initAcceptor",
-    "fluid.engage.myCollection.initSendCollectionFeed",
-    "fluid.engage.condenserInitialiser"
+    "fluid.engage.artifactView.initMarkupFeed", 
+    "fluid.engage.artifactView.initDataFeed", 
+    "fluid.engage.browse.initMarkupFeed",
+    "fluid.engage.browse.initDataFeed",
+    "fluid.engage.catalogue.initMarkupFeed",
+    "fluid.engage.catalogue.initDataFeed",
+    "fluid.engage.catalogueBrowse.initMarkupFeed",
+    "fluid.engage.catalogueBrowse.initDataFeed",
+    "fluid.engage.codeEntry.initDataFeed",
+    "fluid.engage.codeEntry.initMarkupFeed",    
+    "fluid.engage.condenserInitialiser",
+    "fluid.engage.exhibitionAbout.initMarkupFeed",
+    "fluid.engage.exhibitionAbout.initDataFeed",
+    "fluid.engage.exhibitionView.initMarkupFeed",
+    "fluid.engage.exhibitionView.initDataFeed",    
+    "fluid.engage.myCollection.initMarkupFeed",    
+    "fluid.engage.myCollection.setCollectionFeed",    
+    "fluid.engage.myCollection.sendCollectionFeed"
 ],
 condenserRewriterKey: "condenser",
 bundledResources: [
@@ -79,10 +79,6 @@
     engage: {
         target: "fluid-engage-core/",
         source: "fluid-engage-core/"
-        },
-    engageDemo: {
-        target: "engageDemo/",
-        source: "services/engageDemo/"
         }
     },
 debugMode: false
Index: src/main/webapp/kettle/KettleIncludes.json
===================================================================
--- src/main/webapp/kettle/KettleIncludes.json	(revision 9678)
+++ src/main/webapp/kettle/KettleIncludes.json	(working copy)
@@ -23,7 +23,7 @@
    "../services/exhibitionView/js/exhibitionView.js",
    "../services/exhibitionAbout/js/exhibitionAbout.js",
    "../services/catalogue/js/catalogue.js",
-   "../services/browseCatalogue/js/browseCatalogue.js",
+   "../services/catalogueBrowse/js/catalogueBrowse.js",
    "../services/browse/js/browse.js",
    "../services/import/js/import.js",
    "../services/codeEntry/js/codeEntryService.js",
Index: src/main/webapp/services/artifactView/js/artifactView.js
===================================================================
--- src/main/webapp/services/artifactView/js/artifactView.js	(revision 9678)
+++ src/main/webapp/services/artifactView/js/artifactView.js	(working copy)
@@ -15,7 +15,7 @@
 "use strict";
 
 fluid = fluid || {};
-fluid.artifactView = fluid.artifactView || {};
+fluid.engage.artifactView = fluid.engage.artifactView || {};
 
 (function ($) {
     
@@ -54,7 +54,7 @@
         return artifactModel;
     };
     
-    fluid.artifactView.initDataFeed = function (config, app) {
+    fluid.engage.artifactView.initDataFeed = function (config, app) {
         var artifactDataHandler = function (env) {            
             return [200, {"Content-Type": "text/plain"}, JSON.stringify(fetchAndNormalizeModel(env.urlState.params, config))];
         };
@@ -75,7 +75,7 @@
         };
     };
     
-    fluid.artifactView.initMarkupFeed = function (config, app) {
+    fluid.engage.artifactView.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
Index: src/main/webapp/services/browse/js/browse.js
===================================================================
--- src/main/webapp/services/browse/js/browse.js	(revision 9678)
+++ src/main/webapp/services/browse/js/browse.js	(working copy)
@@ -14,7 +14,7 @@
 "use strict";
 
 fluid = fluid || {};
-fluid.browseDemo = fluid.browseDemo || {};
+fluid.engage.browse = fluid.engage.browse || {};
 
 (function ($) {
     var compileDatabaseURL = function (params, config) {
@@ -101,7 +101,7 @@
         return compileData(dataSet, db);
     };
     
-    fluid.browseDemo.initBrowseDataFeed = function (config, app) {
+    fluid.engage.browse.initDataFeed = function (config, app) {
         var browseDataHandler = function (env) {
             return [200, {"Content-Type": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
         };
@@ -128,7 +128,7 @@
         return strings;
     };
     
-    fluid.browseDemo.initBrowseDemo = function (config, app) {
+    fluid.engage.browse.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
@@ -157,7 +157,7 @@
 
             return {
                 ID: "initBlock", 
-                functionname: "fluid.browse", 
+                functionname: "fluid.engage.browse", 
                 "arguments": [".flc-browse", options]
             };
         });
Index: src/main/webapp/services/browseCatalogue/js/browseCatalogue.js
===================================================================
--- src/main/webapp/services/browseCatalogue/js/browseCatalogue.js	(revision 9678)
+++ src/main/webapp/services/browseCatalogue/js/browseCatalogue.js	(working copy)
@@ -1,168 +0,0 @@
-/*
-Copyright 2009-2010 University of Toronto
-
-Licensed under the Educational Community License (ECL), Version 2.0 or the New
-BSD license. You may not use this file except in compliance with one these
-Licenses.
-
-You may obtain a copy of the ECL 2.0 License and BSD License at
-https://source.fluidproject.org/svn/LICENSE.txt
-*/
-
-// Declare dependencies.
-/*global jQuery, fluid*/
-"use strict";
-
-fluid = fluid || {};
-fluid.catalogueService = fluid.catalogueService || {};
-
-(function ($) {
-    
-    var errorCallback = function (XMLHttpRequest, textStatus, errorThrown) {
-        fluid.log("XMLHttpRequest: " + XMLHttpRequest);
-        fluid.log("Status: " + textStatus);
-        fluid.log("Error: " + errorThrown);
-        return [500, {"Content-Type": "text/plain"}, errorThrown];
-    };
-    
-    var ajaxCall = function (url, success, error) {
-        $.ajax({
-            url: url,
-            success: success,
-            error: error
-        });
-    };
-    
-    var getAjax = function (url, error) {
-        var data;
-        var success = function (returnedData, status) {
-            data = JSON.parse(returnedData.substring(0, returnedData.length - 1)); //BUG - Doesn't parse with last \n.
-        };        
-        ajaxCall(url, success, error);        
-        return data;
-    };
-    
-    var compileDatabaseURL = function (params, config) {
-        return fluid.kettle.couchDBViewTemplate(config.viewURLTemplateWithKey, {
-            dbName: params.db, 
-            view: config.views.catalogueArtifactsByID, 
-            key: {
-                exhibitID: params.exhibitID,      
-                sectionID: params.sectionID,
-                lang: params.lang 
-                }
-        });
-    };
-    
-    var getData = function (errorCallback, params, config) {
-        var url = compileDatabaseURL(params, config);
-        var rawData = getAjax(url, errorCallback);
-        var dbName = params.db + "_catalogueArtifacts";
-        var data = fluid.engage.mapModel(rawData.rows[0], dbName);
-        
-        var model = {
-            title: data.exhibitionTitle,
-            categories: [
-                {
-                    name: data.sectionTitle,
-                    artifacts: data.sectionArtifacts
-                }
-            ]
-        };        
-        return model;
-    };
-    
-    fluid.catalogueService.initBrowseCatalogueDataFeed = function (config, app) {
-        var browseCatalogueDataHandler = function (env) {
-            return [200, {"Content-Type": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
-        };
-    
-        var acceptor = fluid.engage.makeAcceptorForResource("browse", "json", browseCatalogueDataHandler);
-        fluid.engage.mountAcceptor(app, "catalogue", acceptor);
-    };
-    
-    var compileTargetURL = function (URLBase, params) {
-        return URLBase + "?" + $.param(params);
-    };
-    
-    var compileArtifacts = function (artifacts, params) {
-        var baseArtifactURL = "../artifacts/view.html";
-        return fluid.transform(artifacts, function (artifact) {
-            return {
-                title: artifact.title,
-                imageUrl: artifact.imageUrl,
-                media: artifact.media,
-                description: artifact.description,
-                url: compileTargetURL(baseArtifactURL, {
-                    db: params.db.slice(0, params.db.indexOf('_')),
-                    accessNumber: artifact.accessionNumber,
-                    lang: params.lang
-                })
-            };
-        });
-    };
-    
-    var afterMap = function (data, params) {
-        data.categories = $.map(data.categories, function (value) {
-            return {
-                name: value.name, 
-                items: compileArtifacts(value.artifacts, params)
-            };
-        });
-        return data;
-    };
-    
-    //This should be replaced with proper message bundles when they are ready
-    var addThemeTitles = function (strings, data) {
-        strings.category = "Viewing %category (%size total)";
-        strings.noCategory = "Viewing all objects (%size total)";
-        return strings;
-    };
-    
-    fluid.catalogueService.initBrowseCatalogueService = function (config, app) {
-        var renderHandlerConfig = {
-            config: config,
-            app: app,
-            target: "catalogue/",
-            source: "components/browse/html/",
-            sourceMountRelative: "engage",
-            baseOptions: {
-                renderOptions: {
-                    cutpoints: [{selector: "#flc-initBlock", id: "initBlock"}]
-                }
-            }
-        };
-        var handler = fluid.engage.mountRenderHandler(renderHandlerConfig);
-            
-        handler.registerProducer("browse", function (context, env) {
-            var params = context.urlState.params;
-            var data = getData(errorCallback, params, config);
-            
-            // TODO: We're hand-altering the configuration for getBundle(), since by default it assumes that all language bundles
-            // are located relative to the HTML template. In this case, however, we've got feeds using the same template but
-            // applying a different set of strings to it.
-            var strings = fluid.kettle.getBundle({
-                config: renderHandlerConfig.config,
-                source: "components/browseCatalogue/html/",
-                sourceMountRelative: "engage"
-            }, params) || {};
-            
-            var options = {
-                strings: strings,
-                model: afterMap(data, params),
-                navigationList: {
-                    options: {
-                        defaultToGrid: true
-                    }
-                }
-            };
-
-            return {
-                ID: "initBlock", 
-                functionname: "fluid.browse", 
-                "arguments": [".flc-browse", options]
-            };
-        });
-            
-    };    
-})(jQuery);
\ No newline at end of file
Index: src/main/webapp/services/catalogue/js/catalogue.js
===================================================================
--- src/main/webapp/services/catalogue/js/catalogue.js	(revision 9678)
+++ src/main/webapp/services/catalogue/js/catalogue.js	(working copy)
@@ -13,7 +13,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.catalogueService = fluid.catalogueService || {};
+fluid.engage.catalogue = fluid.engage.catalogue || {};
 
 (function ($) {
     
@@ -113,7 +113,7 @@
         return fluid.engage.mapModel(rawData.rows[0], dbName);
     };
     
-    fluid.catalogueService.initCatalogueDataFeed = function (config, app) {
+    fluid.engage.catalogue.initDataFeed = function (config, app) {
         var catalogueDataHandler = function (env) {
             return [200, {"Content-Type": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
         };
@@ -122,7 +122,7 @@
         fluid.engage.mountAcceptor(app, "catalogue", acceptor);
     };
     
-    fluid.catalogueService.initCatalogueService = function (config, app) {
+    fluid.engage.catalogue.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
@@ -150,7 +150,7 @@
             
             return {
                 ID: "initBlock",
-                functionname: "fluid.catalogue",
+                functionname: "fluid.engage.catalogue",
                 "arguments": [".flc-catalogue-container", options]
             };
         });
Index: src/main/webapp/services/catalogueBrowse/js/catalogueBrowse.js
===================================================================
--- src/main/webapp/services/catalogueBrowse/js/catalogueBrowse.js	(revision 0)
+++ src/main/webapp/services/catalogueBrowse/js/catalogueBrowse.js	(revision 0)
@@ -0,0 +1,168 @@
+/*
+Copyright 20092010 University of Toronto
+
+Licensed under the Educational Community License (ECL), Version 2.0 or the New
+BSD license. You may not use this file except in compliance with one these
+Licenses.
+
+You may obtain a copy of the ECL 2.0 License and BSD License at
+https://source.fluidproject.org/svn/LICENSE.txt
+*/
+
+// Declare dependencies.
+/*global jQuery, fluid*/
+"use strict";
+
+fluid = fluid || {};
+fluid.engage.catalogueBrowse = fluid.engage.catalogueBrowse || {};
+
+(function ($) {
+    
+    var errorCallback = function (XMLHttpRequest, textStatus, errorThrown) {
+        fluid.log("XMLHttpRequest: " + XMLHttpRequest);
+        fluid.log("Status: " + textStatus);
+        fluid.log("Error: " + errorThrown);
+        return [500, {"ContentType": "text/plain"}, errorThrown];
+    };
+    
+    var ajaxCall = function (url, success, error) {
+        $.ajax({
+            url: url,
+            success: success,
+            error: error
+        });
+    };
+    
+    var getAjax = function (url, error) {
+        var data;
+        var success = function (returnedData, status) {
+            data = JSON.parse(returnedData.substring(0, returnedData.length - 1)); //BUG  Doesn't parse with last \n.
+        };        
+        ajaxCall(url, success, error);        
+        return data;
+    };
+    
+    var compileDatabaseURL = function (params, config) {
+        return fluid.kettle.couchDBViewTemplate(config.viewURLTemplateWithKey, {
+            dbName: params.db, 
+            view: config.views.catalogueArtifactsByID, 
+            key: {
+                exhibitID: params.exhibitID,      
+                sectionID: params.sectionID,
+                lang: params.lang 
+                }
+        });
+    };
+    
+    var getData = function (errorCallback, params, config) {
+        var url = compileDatabaseURL(params, config);
+        var rawData = getAjax(url, errorCallback);
+        var dbName = params.db + "_catalogueArtifacts";
+        var data = fluid.engage.mapModel(rawData.rows[0], dbName);
+        
+        var model = {
+            title: data.exhibitionTitle,
+            categories: [
+                {
+                    name: data.sectionTitle,
+                    artifacts: data.sectionArtifacts
+                }
+            ]
+        };        
+        return model;
+    };
+    
+    fluid.engage.catalogueBrowse.initDataFeed = function (config, app) {
+        var browseCatalogueDataHandler = function (env) {
+            return [200, {"ContentType": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
+        };
+    
+        var acceptor = fluid.engage.makeAcceptorForResource("browse", "json", browseCatalogueDataHandler);
+        fluid.engage.mountAcceptor(app, "catalogue", acceptor);
+    };
+    
+    var compileTargetURL = function (URLBase, params) {
+        return URLBase + "?" + $.param(params);
+    };
+    
+    var compileArtifacts = function (artifacts, params) {
+        var baseArtifactURL = "../artifacts/view.html";
+        return fluid.transform(artifacts, function (artifact) {
+            return {
+                title: artifact.title,
+                imageUrl: artifact.imageUrl,
+                media: artifact.media,
+                description: artifact.description,
+                url: compileTargetURL(baseArtifactURL, {
+                    db: params.db.slice(0, params.db.indexOf('_')),
+                    accessNumber: artifact.accessionNumber,
+                    lang: params.lang
+                })
+            };
+        });
+    };
+    
+    var afterMap = function (data, params) {
+        data.categories = $.map(data.categories, function (value) {
+            return {
+                name: value.name, 
+                items: compileArtifacts(value.artifacts, params)
+            };
+        });
+        return data;
+    };
+    
+    //This should be replaced with proper message bundles when they are ready
+    var addThemeTitles = function (strings, data) {
+        strings.category = "Viewing %category (%size total)";
+        strings.noCategory = "Viewing all objects (%size total)";
+        return strings;
+    };
+    
+    fluid.engage.catalogueBrowse.initMarkupFeed = function (config, app) {
+        var renderHandlerConfig = {
+            config: config,
+            app: app,
+            target: "catalogue/",
+            source: "components/browse/html/",
+            sourceMountRelative: "engage",
+            baseOptions: {
+                renderOptions: {
+                    cutpoints: [{selector: "#flc-initBlock", id: "initBlock"}]
+                }
+            }
+        };
+        var handler = fluid.engage.mountRenderHandler(renderHandlerConfig);
+            
+        handler.registerProducer("browse", function (context, env) {
+            var params = context.urlState.params;
+            var data = getData(errorCallback, params, config);
+            
+            // TODO: We're handaltering the configuration for getBundle(), since by default it assumes that all language bundles
+            // are located relative to the HTML template. In this case, however, we've got feeds using the same template but
+            // applying a different set of strings to it.
+            var strings = fluid.kettle.getBundle({
+                config: renderHandlerConfig.config,
+                source: "components/browseCatalogue/html/",
+                sourceMountRelative: "engage"
+            }, params) || {};
+            
+            var options = {
+                strings: strings,
+                model: afterMap(data, params),
+                navigationList: {
+                    options: {
+                        defaultToGrid: true
+                    }
+                }
+            };
+
+            return {
+                ID: "initBlock", 
+                functionname: "fluid.engage.browse", 
+                "arguments": [".flc-browse", options]
+            };
+        });
+            
+    };    
+})(jQuery);
\ No newline at end of file
Index: src/main/webapp/services/codeEntry/js/codeEntryService.js
===================================================================
--- src/main/webapp/services/codeEntry/js/codeEntryService.js	(revision 9678)
+++ src/main/webapp/services/codeEntry/js/codeEntryService.js	(working copy)
@@ -12,7 +12,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.codeEntry = fluid.codeEntry || {};
+fluid.engage.codeEntry = fluid.engage.codeEntry || {};
 
 (function ($) {
     
@@ -85,7 +85,7 @@
      *  @param {Object} config, the JSON config file for Engage.
      *  @param {Object} app, the Engage application.
      */
-    fluid.codeEntry.initCodeEntryDataFeed = function (config, app) {
+    fluid.engage.codeEntry.initDataFeed = function (config, app) {
         var dataHandler = function (env) {
             var artifactLink = getArtifactLink(config, env.urlState.params);
             if (artifactLink) {
@@ -105,7 +105,7 @@
      * @param {Object} config, the JSON config file for Engage.
      * @param {Object} app, the Engage application.
      */
-    fluid.codeEntry.initCodeEntryService = function (config, app) {
+    fluid.engage.codeEntry.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
Index: src/main/webapp/services/exhibitionAbout/js/exhibitionAbout.js
===================================================================
--- src/main/webapp/services/exhibitionAbout/js/exhibitionAbout.js	(revision 9678)
+++ src/main/webapp/services/exhibitionAbout/js/exhibitionAbout.js	(working copy)
@@ -13,7 +13,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.exhibitionService = fluid.exhibitionService || {};
+fluid.engage.exhibitionAbout = fluid.engage.exhibitionAbout || {};
 
 (function ($) {
     
@@ -72,7 +72,7 @@
         return exhibitionData;
     };
     
-    fluid.exhibitionService.initExhibitionAboutDataFeed = function (config, app) {
+    fluid.engage.exhibitionAbout.initDataFeed = function (config, app) {
         var exhibitionAboutDataHandler = function (env) {
             return [200, {"Content-Type": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
         };
@@ -81,7 +81,7 @@
         fluid.engage.mountAcceptor(app, "exhibitions", acceptor);
     };
     
-    fluid.exhibitionService.initExhibitionAboutService = function (config, app) {
+    fluid.engage.exhibitionAbout.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
@@ -98,7 +98,7 @@
             
         handler.registerProducer("about", function (context, env) {
             var params = context.urlState.params;
-            var strings = fluid.exhibitionService.getBundle(renderHandlerConfig, params);
+            var strings = fluid.engage.getExhibitionBundle(renderHandlerConfig, params);
             fluid.log("Decoded bundle");
             var options = {
                 model: getData(errorCallback, context.urlState.params, config)
Index: src/main/webapp/services/exhibitionBrowse/js/exhibitionBrowse.js
===================================================================
--- src/main/webapp/services/exhibitionBrowse/js/exhibitionBrowse.js	(revision 9678)
+++ src/main/webapp/services/exhibitionBrowse/js/exhibitionBrowse.js	(working copy)
@@ -14,11 +14,11 @@
 "use strict";
 
 fluid = fluid || {};
-fluid.exhibitionService = fluid.exhibitionService || {};
+fluid.engage.exhibitionBrowse = fluid.engage.exhibitionBrowse || {};
 
 (function ($) {
 
-    fluid.engage.exhibitionDataSource = fluid.kettle.dataSource({
+    fluid.engage.exhibitionBrowse.dataSource = fluid.kettle.dataSource({
         source: {
             type: "fluid.kettle.URLDataSource",
             urlBuilder: {
@@ -31,25 +31,25 @@
                 }]
             }
         },
-        outputMapper: "fluid.engage.exhibitionMapper"
+        outputMapper: "fluid.engage.exhibitionBrowse.mapper"
     });
     
         
     fluid.kettle.dataSpout({
         url: "exhibitions/browse",
         contentType: "JSON",
-        source: {name: "fluid.engage.exhibitionDataSource",
+        source: {name: "fluid.engage.exhibitionBrowse.dataSource",
             args: [{db: "{params}.db", lang: "{params}.lang"}]
         }
     });
     
-    fluid.exhibitionService.getBundle = function(renderHandlerConfig, params) {
+    fluid.engage.getExhibitionBundle = function (renderHandlerConfig, params) {
         return fluid.kettle.getBundle({
                         config: renderHandlerConfig.config,
                         source: "components/exhibitionBrowse/html/",
                         sourceMountRelative: "engage"
                     }, params);
-    }
+    };
     
     fluid.kettle.markupSpout({
         renderHandlerConfig: {
@@ -65,12 +65,12 @@
         producers: {
             "browse": function (context, renderHandlerConfig) {
                 var params = context.urlState.params;
-                var data = fluid.engage.exhibitionDataSource.get({db: params.db, lang: params.lang});
+                var data = fluid.engage.exhibitionBrowse.dataSource.get({db: params.db, lang: params.lang});
                 if (!data.isError) {
                     // TODO: We're hand-altering the configuration for getBundle(), since by default it assumes that all language bundles
                     // are located relative to the HTML template. In this case, however, we've got feeds using the same template but
                     // applying a different set of strings to it.
-                    var strings = fluid.exhibitionService.getBundle(renderHandlerConfig, params);
+                    var strings = fluid.engage.getExhibitionBundle(renderHandlerConfig, params);
                     var options = {
                         showHeaderForFirstCategory: false,
                         model: data.data,
@@ -91,7 +91,7 @@
                     
                     return {tree: {
                         ID: "initBlock", 
-                        functionname: "fluid.browse", 
+                        functionname: "fluid.engage.browse", 
                         "arguments": [".flc-browse", options]
                     }};
                 }
@@ -105,7 +105,7 @@
         return URLBase + "?" + $.param(params);
     };
     
-    fluid.engage.exhibitionMapper = function (model, options) {
+    fluid.engage.exhibitionBrowse.mapper = function (model, options) {
         var dbName = options.db + "_exhibitions";
         var baseExhibitionURL = "../exhibitions/view.html";
         var baseUpcomingExhibitionURL = "about.html";
Index: src/main/webapp/services/exhibitionView/js/exhibitionView.js
===================================================================
--- src/main/webapp/services/exhibitionView/js/exhibitionView.js	(revision 9678)
+++ src/main/webapp/services/exhibitionView/js/exhibitionView.js	(working copy)
@@ -13,7 +13,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.exhibitionService = fluid.exhibitionService || {};
+fluid.engage.exhibitionView = fluid.engage.exhibitionView || {};
 
 (function ($) {
     
@@ -59,7 +59,7 @@
         return exhibitionData;
     };
     
-    fluid.exhibitionService.initExhibitionViewDataFeed = function (config, app) {
+    fluid.engage.exhibitionView.initDataFeed = function (config, app) {
         var exhibitionViewDataHandler = function (env) {
             return [200, {"Content-Type": "text/plain"}, JSON.stringify(getData(errorCallback, env.urlState.params, config))];
         };
@@ -89,7 +89,7 @@
         return URLBase + "?" + $.param(params);
     };
     
-    fluid.exhibitionService.initExhibitionViewService = function (config, app) {
+    fluid.engage.exhibitionView.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
Index: src/main/webapp/services/myCollection/js/collectOperations.js
===================================================================
--- src/main/webapp/services/myCollection/js/collectOperations.js	(revision 9678)
+++ src/main/webapp/services/myCollection/js/collectOperations.js	(working copy)
@@ -14,7 +14,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.collectOperations = fluid.collectOperations || {};
+fluid.engage.myCollection = fluid.engage.myCollection || {};
 
 (function ($) {
     
@@ -79,13 +79,13 @@
     var collectOperation = function (pathInfo, config, fn) {
         var artifactData = compileArtifactData(pathInfo);
         
-        var userCollection = fluid.myCollection.common.getCollection(artifactData.uuid, config);
+        var userCollection = fluid.engage.myCollection.getCollection(artifactData.uuid, config);
         
         fn(userCollection, artifactData);
         
-        var collectionUrl = fluid.myCollection.common.compileUserDocumentUrl(userCollection._id, config);
+        var collectionUrl = fluid.engage.myCollection.compileUserDocumentUrl(userCollection._id, config);
         
-        fluid.myCollection.common.ajaxCall(collectionUrl, function () {}, JSON.stringify(userCollection), "PUT");       
+        fluid.engage.myCollection.ajaxCall(collectionUrl, function () {}, JSON.stringify(userCollection), "PUT");       
     };
     
     var collectArtifact = function (pathInfo, config) {
@@ -96,7 +96,7 @@
         collectOperation(pathInfo, config, removeArtifact);
     };
     
-    fluid.collectOperations.initAcceptor = function (config, app) {
+    fluid.engage.myCollection.setCollectionFeed = function (config, app) {
         // Custom acceptor for collecting/uncollecting artifacts.
         // POST will collect the specified artifact into the user's personal collection; DELETE will uncollect
         fluid.engage.mountAcceptor(app, "users", {
Index: src/main/webapp/services/myCollection/js/collectionCommon.js
===================================================================
--- src/main/webapp/services/myCollection/js/collectionCommon.js	(revision 9678)
+++ src/main/webapp/services/myCollection/js/collectionCommon.js	(working copy)
@@ -14,7 +14,7 @@
 /*global jQuery, fluid*/
 
 fluid = fluid || {};
-fluid.myCollection.common = fluid.myCollection.common || {};
+fluid.engage.myCollection = fluid.engage.myCollection || {};
 
 (function ($) {
     /**
@@ -35,7 +35,7 @@
      * @param id, the unique user ID.
      * @param {Object} config, the JSON config file for Engage.
      */
-    fluid.myCollection.common.compileUserDocumentUrl = function (id, config) {
+    fluid.engage.myCollection.compileUserDocumentUrl = function (id, config) {
         return fluid.stringTemplate(config.querySingleDocumentURLTemplate, 
             {dbName: "users", id: id ? id : ""});
     };
@@ -48,7 +48,7 @@
      * @param data, the data passed to the server.
      * @param type, the HTTP method - GET or PUT.
      */
-    fluid.myCollection.common.ajaxCall = function (url, success, data, type) {
+    fluid.engage.myCollection.ajaxCall = function (url, success, data, type) {
         $.ajax({
             url: url,
             async: false,
@@ -67,8 +67,8 @@
      * @param {Object} uuid, the uuid for the collection.
      * @param {Object} config, the JSON config file for Engage. 
      */
-    fluid.myCollection.common.getCollection = function (uuid, config) {
-        var databaseUrl = fluid.myCollection.common.compileUserDocumentUrl(uuid, config);
+    fluid.engage.myCollection.getCollection = function (uuid, config) {
+        var databaseUrl = fluid.engage.myCollection.compileUserDocumentUrl(uuid, config);
         
         var data;
         
@@ -76,7 +76,7 @@
             data = returnedData.replace("\n", "");
         };
         
-        fluid.myCollection.common.ajaxCall(databaseUrl, success, "", "GET");        
+        fluid.engage.myCollection.ajaxCall(databaseUrl, success, "", "GET");        
         
         if (data) {
             return JSON.parse(data);
Index: src/main/webapp/services/myCollection/js/myCollectionService.js
===================================================================
--- src/main/webapp/services/myCollection/js/myCollectionService.js	(revision 9678)
+++ src/main/webapp/services/myCollection/js/myCollectionService.js	(working copy)
@@ -15,7 +15,7 @@
 "use strict";
 
 fluid = fluid || {};
-fluid.myCollection = fluid.myCollection || {};
+fluid.engage.myCollection = fluid.engage.myCollection || {};
 
 (function ($) {
     /**
@@ -123,7 +123,7 @@
             data = returnedData;
         };
 
-        fluid.myCollection.common.ajaxCall(url, success, data, "GET");
+        fluid.engage.myCollection.ajaxCall(url, success, data, "GET");
         
         if (data) {
             return JSON.parse(data.replace("\n", ""));
@@ -202,7 +202,7 @@
         
         // TODO: Despite being called getCollection(), this function actually returns user documents.
         // TODO: We should replace this with the user dataSource defined in userService.
-        var user = fluid.myCollection.common.getCollection(userID, config);
+        var user = fluid.engage.myCollection.getCollection(userID, config);
         var urls = buildArtifactURLsByMuseum(config.queryURLTemplate, config.views.artifactsByID, user);
 
         var collectedArtifacts = [];
@@ -224,7 +224,7 @@
      *  @param {Object} config, the JSON config file for Engage.
      *  @param {Object} app, the Engage application. 
      */
-    fluid.myCollection.initMyCollectionService = function (config, app) {
+    fluid.engage.myCollection.initMarkupFeed = function (config, app) {
         var renderHandlerConfig = {
             config: config,
             app: app,
Index: src/main/webapp/services/myCollection/js/submitMyCollectionService.js
===================================================================
--- src/main/webapp/services/myCollection/js/submitMyCollectionService.js	(revision 9678)
+++ src/main/webapp/services/myCollection/js/submitMyCollectionService.js	(working copy)
@@ -36,7 +36,7 @@
         return response;
     };
     
-    fluid.engage.myCollection.initSendCollectionFeed  = function (config, app) {
+    fluid.engage.myCollection.sendCollectionFeed  = function (config, app) {
         var submitMyCollectionDataHandler = function (env) {       
             var mccordResponse = submitMyCollection(env.urlState.params, config);
             
Index: src/main/webapp/tests/kettle/js/KettleAppTests.js
===================================================================
--- src/main/webapp/tests/kettle/js/KettleAppTests.js	(revision 9678)
+++ src/main/webapp/tests/kettle/js/KettleAppTests.js	(working copy)
@@ -135,7 +135,7 @@
                       if (!data.isError) {
                           return {tree: {
                               ID: "initBlock", 
-                              functionname: "fluid.browse", 
+                              functionname: "fluid.engage.browse", 
                               "arguments": [".flc-browse", data.data.value]
                           }};
                       }
@@ -152,7 +152,7 @@
         jqUnit.assertEquals("Successful response", 200, response[0]);
         jqUnit.assertDeepEq("Markup content type", fluid.kettle.headerFromEntry(fluid.kettle.contentTypeRegistry.HTML), response[1]);
         var markup = response[2];
-        jqUnit.assertTrue("Rendered data", markup.indexOf("fluid.browse(\".flc-browse\", 35)") !== -1);
+        jqUnit.assertTrue("Rendered data", markup.indexOf("fluid.engage.browse(\".flc-browse\", 35)") !== -1);
 
     });
     
