code: function (scope, varName) {
            var self = this;
            return self.$loaded().then(function () {
              return self.$$conf.binding.bindTo(scope, varName);
            });
          }
docs: Creates a 3-way data sync between this object, the Firebase server, and a
  scope variable. This means that any changes made to the scope variable are
  pushed to Firebase, and vice versa.
  
  If scope emits a $destroy event, the binding is automatically severed. Otherwise,
  it is possible to unbind the scope variable by using the `unbind` function
  passed into the resolve method.
  
  Can only be bound to one scope variable at a time. If a second is attempted,
  the promise will be rejected with an error.
  
  @param {object} scope
  @param {string} varName
  @returns a promise which resolves to an unbind method after data is set in scope