code: function(mediator, datasetManager, options) {
  
      var datasetSyncSubscribers = syncSubscribers[options.datasetId];
      //If there is already a set of subscribers set up, then don't subscribe again.
      if (datasetSyncSubscribers) {
        return datasetSyncSubscribers;
      }
  
      datasetSyncSubscribers = syncSubscribers[options.datasetId] = new MediatorTopicUtility(mediator);
      datasetSyncSubscribers.prefix(CONSTANTS.SYNC_TOPIC_PREFIX).entity(options.datasetId);
  
      //Setting up subscribers to the workorder topics.
      _.each(CONSTANTS.TOPICS, function(topicName) {
        if (topicHandlers[topicName]) {
          datasetSyncSubscribers.on(topicName, topicHandlers[topicName](datasetSyncSubscribers, datasetManager));
        }
      });
  
      _.each(CONSTANTS.SYNC_TOPICS.DATA, function(syncTopicName) {
        datasetSyncSubscribers.on(syncTopicName, syncEventHandler(datasetManager));
      });
  
      //For each remote error, publish a sync error topic
      //This can be subscribed to by other modules. (Generally the module that created the manager)
      datasetManager.stream.forEach(function(notification) {
        var code = notification.code;
        datasetSyncSubscribers.mediator.publish(datasetSyncSubscribers.getTopic(code), notification);
      });
  
      return datasetSyncSubscribers;
    }
docs: Initialisation of all the topics that this module is interested in.
  @param {Mediator} mediator
  @param {DataManager} datasetManager - The individual Data Manager for a data set.
  @param {object}  options
  @param {string}  options.datasetId  - The identifier for the data set
  @returns {Topics|exports|module.exports|*}