setup: function() {
    Orbit.Promise = Promise;

    // Create schema
    var schema = new Schema({
      models: {
        planet: {}
      }
    });

    // Create sources
    primarySource = new MemorySource(schema);
    backupSource = new MemorySource(schema);

    primarySource.on('didTransform',  backupSource.transform);
  },
  setup: function() {
    Orbit.Promise = Promise;

    // Create schema
    schema = new Schema({
      modelDefaults: {
        keys: {
          '__id': {primaryKey: true, defaultValue: uuid},
          'id': {}
        }
      },
      models: {
        planet: {
          attributes: {
            name: {type: 'string'},
            classification: {type: 'string'}
          },
          links: {
            moons: {type: 'hasMany', model: 'moon', inverse: 'planet'}
          }
        },
        moon: {
          attributes: {
            name: {type: 'string'}
          },
          links: {
            planet: {type: 'hasOne', model: 'planet', inverse: 'moons'},
            mountains: {type: 'hasMany', model: 'mountain', inverse: 'moon'}
          }
        }
      }
    });

    // Create sources
    source1 = new MemorySource({schema: schema});
    source2 = new MemorySource({schema: schema});

    source1.id = 'source1';
    source2.id = 'source2';

    // Create connectors
    source1to2Connector = new TransformConnector(source1, source2);
    source2to1Connector = new TransformConnector(source2, source1);

    source1.on('rescueFind', source2.find);
  },